Encoding device and encoding method with setting and encoding of reference information

ABSTRACT

An encoding unit generates a predicted image using a reference image. A transmission unit transmits inter_ref_pic_set_prediction_flag representing whether reference image specifying information specifying the reference image of a prior image that is an image prior to a current coding image in coding order is used as the reference image specifying information of the current coding image in a case where the current coding image is an image other than a first image of a GOP (Group of Picture). The present technology, for example, can be applied to an encoding device of an HEVC (High Efficiency Video Coding) system.

This application is a continuation of U.S. patent application Ser. No.16/243,040 filed Jan. 8, 2019 (pending), which is a continuation of U.S.patent application Ser. No. 14/402,544 filed Nov. 20, 2014 (U.S. Pat.No. 10,623,765), which is the national phase of PCT ApplicationPCT/JP2013/067112 filed Jun. 21, 2013, which claims priority of JapaneseApplication JP 2012-147883 filed Jun. 29, 2012 and Japanese ApplicationJP 2012-218097 filed Sep. 28, 2012, the entire contents of each of whichis incorporated herein by reference.

TECHNICAL FIELD

The present technology relates to an encoding device and an encodingmethod and, more particularly, to an encoding device and an encodingmethod capable of reducing the amount of information relating toinformation that specifies a reference image.

BACKGROUND ART

Recently, image information is handled as digital data, and, for thepurpose of transmission and storage of information havinghigh-efficiency at that time, devices that are in compliance with theMPEG (Moving Picture Experts Group phase) system or the like thatperforms an orthogonal transform such as a discrete cosine transform andcompression using motion compensation, by using the redundancy that isunique to the image information, are widely used for both informationdelivery in broadcasting stations and the like and information receptionin standard homes.

Particularly, the MPEG2 (ISO/IEC 13818-2) system is defined as ageneral-purpose image coding system and is currently used widely for abroad range of applications for the professional use and the consumeruse as standards covering both an interlaced scanning image and asequential scanning image and a standard resolution image and a highdefinition image. By using the MPEG2 system, for example, a code amount(bit rate) of 4 to 8 Mbps in the case of an interlaced scanning image ofa standard resolution of 720.times.480 pixels and a code amount of 18 to22 Mbps in the case of an interlaced scanning image of high definitionof 1920.times.1088 pixels are allocated, whereby a high compression rateand an improved image quality can be realized.

MPEG2 is targeted for high image quality coding that is mainly suitablefor broadcasting but does not respond to a coding system of a codeamount (bit rate) lower than that of MPEG1, in other words, a codingsystem of a higher compression rate. In accordance with thepopularization of mobile terminals, the request for such a coding systemis predicted to increase in the future, and an MPEG4 coding system hasbeen standardized in response thereto. Relating to the image codingsystem of MPEG4, a specification has been approved in December, 1998 tobe an international standard as ISO/IEC 14496-2.

In addition, recently, for the purpose of image coding used fortelevision conferences, the standardization of H.26L (ITU-T Q6/16 VCEG)is in the progress. While H.26L requires the amount of calculationaccording to coding and decoding that is larger than that of aconventional coding system such as MPEG2 or MPEG4, it is known that ahigher coding efficiency is realized.

Furthermore, currently, as part of activities of MPEG4, thestandardization of a specification, which is based on H.26L, includingfunctions not supported in H.26L and realizing higher coding efficiencyis in the process as Joint Model of Enhanced-Compression Video Coding.This standardization is internationally standardized based on the titleof H.264 and MPEG-4 Part 10 (AVC (Advanced Video Coding)) in March,2003.

In addition, the standardization of FRExt (Fidelity Range Extension)including, as extensions, a coding tool, which is required for abusiness, called RGB, 4:2:2 or 4:4:4 and 8.times.8 DCT and aquantization matrix defined in MPEG-2 has been completed in February,2005. Accordingly, the AVC becomes a coding system capable ofrepresenting a film noise included in a movie in an improved manner aswell and is a system in which it is used for a broad range ofapplications such as a Blu-Ray (registered trademark) Disc.

However, in these days, the request for higher-compression-rate codingrequired for compressing an image of about 4000.times.2000 pixels, whichare four times those of a high vision image, and for delivering the highvision image in a limited transmission capacity environment such as theInternet has been increased. For this reason, in a VCEG (Video CodingExpert Group) under the ITU-T, reviews for improving the codingefficiency have been continuously performed.

Meanwhile, in an HEVC (High Efficiency Video Coding) system, ashort-term reference picture set (hereinafter, referred to as an RPS)used for recognizing reference image specifying information thatspecifies a reference image in a decoding device is included in an SPS(Sequence Parameter Set) (for example, see Non-Patent Document 1).

FIG. 1 is a diagram that illustrates an example of the syntax of an RPS.

As illustrated in the second line in FIG. 1, in the RPS,inter_ref_pic_set_prediction_flag is included. Here,inter_ref_pic_set_prediction_flag is reference information thatrepresents whether reference image specifying information that specifiesa reference image of a prior image, which is an image prior to a currentcoding image in coding order within a GOP (Group of Picture) of thecurrent coding image, is used as reference image specifying informationof the current coding image.

Here, inter_ref_pic_set_prediction_flag is “1” in a case where itrepresents that the reference image specifying information specifyingthe reference image of the prior image is used as the reference imagespecifying information of the current coding image and is “0” in a casewhere it represents that the reference image specifying informationspecifying the reference image of the prior image is not used as thereference image specifying information of the current coding image.

As the third and fourth lines in FIG. 1, in a case whereinter_ref_pic_set_prediction_flag is “1”, delta_idx_minus1 that is theprior image specifying information specifying the prior image isincluded in the RPS. More specifically, delta_idx_minus1 has a valueacquired by subtracting one from a value that is acquired by subtractingthe coding number of the prior image from the coding number (codingorder) of the current coding image. Here, the coding number is a numberthat is assigned to each image within the GOP from a small value inorder of coding.

In addition, as illustrated in the 13th to 23rd lines in FIG. 1, in acase where inter_ref_pic_set_prediction_flag is “0”, the reference imagespecifying information is included in the RPS.

FIG. 2 is a diagram that illustrates an example ofinter_ref_pic_set_prediction_flag and delta_idx_minus1.

In the example illustrated in FIG. 2, the reference image specifyinginformation of the current coding image of which the coding number is Nis the same as the reference image specifying information of the priorimage, of which the coding number is “N−1”, that is prior to the currentcoding image in coding order.

In this case, inter_ref_pic_set_prediction_flag is set to “1” thatrepresents the reference image specifying information of the prior imageis used as the reference image specifying information of the currentcoding image. In addition, delta_idx_minus1 is set to “0” that isacquired by subtracting “N−1” that is the coding number of the priorimage from N that is the coding number of the current coding image andthen, from a value of “1” that is acquired as a result of thesubtraction, additionally subtracting one.

CITATION LIST Non-Patent Document

-   Non-Patent Document 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm,    Gary J. Sullivan, Thomas Wiegand, “High efficiency video coding    (HEVC) text specification draft 7”, JCTVC-I1003_d4, 2012.4.27-5.7

SUMMARY OF THE INVENTION Problems to be Solved by the Invention

However, the amount of information relating to the reference imagespecifying information such as the RPS is not sufficiently reduced.

The present technology is contrived in consideration of such a situationand enables reduction of the amount of information relating to theinformation that specifies a reference image.

Solutions to Problems

According to an aspect of the present technology, there is provided anencoding device including: a predicted image generation unit configuredto generate a predicted image using a reference image; and atransmission unit configured to transmit reference informationrepresenting whether reference image specifying information specifyingthe reference image of a prior image that is an image prior to a currentcoding image in coding order is used as the reference image specifyinginformation of the current coding image in a case where the currentcoding image is an image other than a first image of a GOP (Group ofPicture).

An encoding method according to another aspect of the present technologycorresponds to the encoding device according to the aspect of thepresent technology.

According to the aspect of the present technology, a predicted image isgenerated using a reference image; and reference informationrepresenting whether reference image specifying information specifyingthe reference image of a prior image that is an image prior to a currentcoding image in coding order is used as the reference image specifyinginformation of the current coding image is transmitted in a case wherethe current coding image is an image other than a first image of a GOP(Group of Picture).

In addition, the encoding device according to the aspect of the presenttechnology may be realized by causing a computer to execute a program.

Furthermore, in order to realize the encoding device according to theaspect of the present technology, the program executed by the computermay be provided by being transmitted through a transmission medium orbeing recorded on a recording medium.

Effects of the Invention

According to the present technology, the amount of information relatingto information that specifies a reference image can be reduced.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram that illustrates an example of the syntax of an RPS.

FIG. 2 is a diagram that illustrates an example ofinter_ref_pic_set_prediction_flag and delta_idx_minus1.

FIG. 3 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to a first embodiment.

FIG. 4 is a block diagram that illustrates an example of theconfiguration of an encoding unit illustrated in FIG. 3.

FIG. 5 is a diagram that illustrates an example of the syntax of an SPSthat is set by a setting unit 12 illustrated in FIG. 3.

FIG. 6 is a diagram that illustrates an example of the syntax of an RPS.

FIG. 7 is a diagram that illustrates the information amount of the RPSthat is set by the setting unit 12 illustrated in FIG. 3.

FIG. 8 is a diagram that illustrates the information amount of aconventional RPS.

FIG. 9 is a diagram that illustrates an example of the syntax of a sliceheader.

FIG. 10 is a flowchart that illustrates a generation process performedby the encoding device illustrated in FIG. 3.

FIG. 11 is a flowchart that illustrates an RPS setting processillustrated in FIG. 10 in detail.

FIG. 12 is a flowchart that illustrates a coding process illustrated inFIG. 10 in detail.

FIG. 13 is a flowchart that illustrates the coding process illustratedin FIG. 10 in detail.

FIG. 14 is a flowchart that illustrates an RPS index determining processillustrated in FIG. 12 in detail.

FIG. 15 is a block diagram that illustrates an example of theconfiguration of a decoding device, to which the present technology isapplied, according to the first embodiment.

FIG. 16 is a block diagram that illustrates an example of theconfiguration of a decoding unit illustrated in FIG. 15.

FIG. 17 is a flowchart that illustrates a reception process performed bythe decoding device illustrated in FIG. 15.

FIG. 18 is a flowchart that illustrates an RPS setting processillustrated in FIG. 17 in detail.

FIG. 19 is a flowchart that illustrates a decoding process illustratedin FIG. 17 in detail.

FIG. 20 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to a second embodiment.

FIG. 21 is a diagram that illustrates an example of the syntax of an SPSthat is set by a setting unit illustrated in FIG. 20.

FIG. 22 is a diagram that illustrates an example of the syntax of an RPSillustrated in FIG. 21.

FIG. 23 is a diagram that illustrates the information amount of the RPSthat is set by the setting unit illustrated in FIG. 20.

FIG. 24 is a diagram that illustrates the information amount of the RPSthat is set by the setting unit illustrated in FIG. 20.

FIG. 25 is a diagram that illustrates the information amount of aconventional RPS.

FIG. 26 is a flowchart that illustrates an RPS setting process performedby the encoding device illustrated in FIG. 20 in detail.

FIG. 27 is a block diagram that illustrates an example of theconfiguration of a decoding device, to which the present technology isapplied, according to the second embodiment.

FIG. 28 is a flowchart that illustrates an RPS setting process performedby the decoding device illustrated in FIG. 27 in detail.

FIG. 29 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to a third embodiment.

FIG. 30 is a diagram that illustrates an example of the syntax of an SPSthat is set by a setting unit illustrated in FIG. 29.

FIG. 31 is a diagram that illustrates an example of the syntax of an RPSillustrated in FIG. 30.

FIG. 32 is a diagram that illustrates the information amount of the RPSthat is set by the setting unit illustrated in FIG. 29.

FIG. 33 is a flowchart that illustrates an RPS setting process performedby the encoding device illustrated in FIG. 29 in detail.

FIG. 34 is a block diagram that illustrates an example of theconfiguration of a decoding device, to which the present technology isapplied, according to the third embodiment.

FIG. 35 is a flowchart that illustrates an RPS setting process performedby the decoding device illustrated in FIG. 34 in detail.

FIG. 36 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to a fourth embodiment.

FIG. 37 is a block diagram that illustrates an example of theconfiguration of an encoding unit illustrated in FIG. 36.

FIG. 38 is a diagram that illustrates an example of the syntax of a PPSthat is set by a setting unit illustrated in FIG. 36.

FIG. 39 is a diagram that illustrates an example of the syntax of thePPS that is set by the setting unit illustrated in FIG. 36.

FIG. 40 is a diagram that illustrates an example of the syntax of a PPSin a conventional HEVC system.

FIG. 41 is a diagram that illustrates an example of the syntax of a PPSin a conventional HEVC system.

FIG. 42 is a diagram that illustrates an example of the syntax of aslice header that is added by a lossless encoding unit illustrated inFIG. 37.

FIG. 43 is a diagram that illustrates an example of the syntax of theslice header that is added by the lossless encoding unit illustrated inFIG. 37.

FIG. 44 is a diagram that illustrates an example of the syntax of theslice header that is added by the lossless encoding unit illustrated inFIG. 37.

FIG. 45 is a diagram that illustrates an example of the syntax of aslice header in a conventional HEVC system.

FIG. 46 is a diagram that illustrates an example of the syntax of aslice header in a conventional HEVC system.

FIG. 47 is a diagram that illustrates an example of the syntax of aslice header in a conventional HEVC system.

FIG. 48 is a flowchart that illustrates a generation process performedby the encoding device illustrated in FIG. 36.

FIG. 49 is a flowchart that illustrates a coding process illustrated inFIG. 48 in detail.

FIG. 50 is a flowchart that illustrates the coding process illustratedin FIG. 48 in detail.

FIG. 51 is a flowchart that illustrates a PPS setting processillustrated in FIG. 48 in detail.

FIG. 52 is a block diagram that illustrates an example of theconfiguration of a decoding device, to which the present technology isapplied, according to a fourth embodiment.

FIG. 53 is a block diagram that illustrates an example of theconfiguration of a decoding unit illustrated in FIG. 52.

FIG. 54 is a flowchart that illustrates a reception process performed bythe decoding device illustrated in FIG. 52.

FIG. 55 is a flowchart that illustrates a decoding process illustratedin FIG. 54 in detail.

FIG. 56 is a diagram that illustrates an example of a multiple viewpointimage coding system.

FIG. 57 is a diagram that illustrates an example of the mainconfiguration of a multiple viewpoint image encoding device to which thepresent technology is applied.

FIG. 58 is a diagram that illustrates an example of the mainconfiguration of a multiple viewpoint image decoding device to which thepresent technology is applied.

FIG. 59 is a diagram that illustrates an example of a hierarchical imagecoding system.

FIG. 60 is a diagram that illustrates an example of the mainconfiguration of a hierarchical image encoding device to which thepresent technology is applied.

FIG. 61 is a diagram that illustrates an example of the mainconfiguration of a hierarchical image decoding device to which thepresent technology is applied.

FIG. 62 is a block diagram that illustrates an example of the hardwareconfiguration of a computer.

FIG. 63 is a diagram that illustrates an example of the schematicconfiguration of a television apparatus to which the present technologyis applied.

FIG. 64 is a diagram that illustrates an example of the schematicconfiguration of a mobile phone to which the present technology isapplied.

FIG. 65 is a diagram that illustrates an example of the schematicconfiguration of a recording and reproducing device to which the presenttechnology is applied.

FIG. 66 is a diagram that illustrates an example of the schematicconfiguration of an imaging device to which the present technology isapplied.

FIG. 67 is a block diagram that illustrates an example of the use ofscalable coding.

FIG. 68 is a block diagram that illustrates another example of the useof the scalable coding.

FIG. 69 is a block diagram that illustrates a further another example ofthe use of the scalable coding.

FIG. 70 is a diagram that illustrates an example of the schematicconfiguration of a video set to which the present technology is applied.

FIG. 71 is a diagram that illustrates an example of the schematicconfiguration of a video processor to which the present technology isapplied.

FIG. 72 is a diagram that illustrates another example of the schematicconfiguration of a video processor to which the present technology isapplied.

MODE FOR CARRYING OUT THE INVENTION First Embodiment

(Configuration Example of Encoding Device According to First Embodiment)

FIG. 3 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to the first embodiment.

An encoding device 10 illustrated in FIG. 3 is configured by an encodingunit 11, a setting unit 12, and a transmission unit 13 and encodes animage in accordance with an HEVC system.

More specifically, an image that is configured in units of frames isinput to the encoding unit 11 of the encoding device 10 as an inputsignal. The encoding unit 11 codes the input signal in accordance withthe HEVC system by referring to an RPS that is supplied from the settingunit 12 and supplies coded data acquired as a result thereof to thesetting unit 12.

The setting unit 12 sets an RPS that does not includeinter_ref_pic_set_prediction_flag but includes the reference imagespecifying information and an RPS that includesinter_ref_pic_set_prediction_flag and the reference image specifyinginformation or delta_idx_minus1. To each RPS, the setting unit 12assigns an index as reference image information specifying informationthat specifies the RPS (reference image information). Here, it isassumed that “0” is set as an index of the RPS that does not includeinter_ref_pic_set_prediction_flag but includes the reference imagespecifying information.

The setting unit 12 supplies the RPS to which the index has beenassigned to the encoding unit 11. The setting unit 12 sets an SPSincluding the RPS, a PPS (Picture Parameter Set), and the like.

The setting unit 12 generates a coded stream based on the SPS and thePPS, which have been set and coded data supplied from the encoding unit11. The setting unit 12 supplies the coded stream to the transmissionunit 13.

The transmission unit 13 transmits the coded stream supplied from thesetting unit 12 to as a decoding device to be described later.

(Configuration Example of Encoding Unit)

FIG. 4 is a block diagram that illustrates an example of theconfiguration of the encoding unit 11 illustrated in FIG. 3.

The encoding unit 11 illustrated in FIG. 4 includes: an A/D converter31; a screen rearrangement buffer 32; a calculation unit 33; anorthogonal transform unit 34; an quantization unit 35; a losslessencoding unit 36; an accumulation buffer 37; an inverse quantizationunit 38; an inverse orthogonal transform unit 39; an addition unit 40; adeblocking filter 41, an adaptive offset filter 42; an adaptive loopfilter 43; a frame memory 44; a switch 45; an intra prediction unit 46;a motion prediction/compensation unit 47; a predicted image selectionunit 48; a reference image setting unit 49; and a rate control unit 50.

More specifically, the A/D converter 31 of the encoding unit 11 performsA/D conversion of an image, which is in units of frames, that is inputas an input signal and outputs the converted image to the screenrearrangement buffer 32 so as to be stored therein. The screenrearrangement buffer 32 rearranges stored images, which are in units offrames, that are in display order in accordance with the GOP structurein order of the display in coding order and outputs the rearrangedimages to the calculation unit 33, the intra prediction unit 46, and themotion prediction/compensation unit 47.

The calculation unit 33 serves as an encoding unit and performs codingby calculating a difference between a predicted image supplied from thepredicted image selection unit 48 and a current coding image output fromthe screen rearrangement buffer 32. More specifically, the calculationunit 33 performs coding by subtracting a predicted image supplied fromthe predicted image selection unit 48 from a current coding image outputfrom the screen rearrangement buffer 32. The calculation unit 33 outputsan image acquired as a result thereof to the orthogonal transform unit34 as residual information. In addition, in a case where a predictedimage is not supplied from the predicted image selection unit 48, thecalculation unit 33 directly outputs the image read from the screenrearrangement buffer 32 to the orthogonal transform unit 34 as theresidual information.

The orthogonal transform unit 34 performs an orthogonal transform of theresidual information output from the calculation unit 33, therebygenerating an orthogonal transform coefficient. The orthogonal transformunit 34 supplies the generated orthogonal transform coefficient to thequantization unit 35.

The quantization unit 35 performs quantization of the orthogonaltransform coefficient that is supplied from the orthogonal transformunit 34 by using quantization parameters supplied from the rate controlunit 50. The quantization unit 35 inputs the coefficient acquired as aresult thereof to the lossless encoding unit 36.

The lossless encoding unit 36 acquires information (hereinafter,referred to as intra prediction mode information) that represents anoptimal intra prediction mode from the intra prediction unit 46. Inaddition, the lossless encoding unit 36 acquires information(hereinafter, referred to as inter prediction mode information) thatrepresents the optimal inter prediction mode, a motion vector, and thelike from the motion prediction/compensation unit 47. In addition, thelossless encoding unit 36 acquires the index of an RPS, the RPS, or thelike from the reference image setting unit 49 and acquires quantizationparameters from the rate control unit 50.

In addition, the lossless encoding unit 36 acquires a storage flag, anindex or an offset, and type information from the adaptive offset filter42 as offset filter information and acquires a filter coefficient fromthe adaptive loop filter 43.

The lossless encoding unit 36 performs lossless coding such as variablelength coding (for example, CAVLC (Context-Adaptive Variable LengthCoding) or the like) or arithmetic coding (for example, CABAC(Context-Adaptive Binary Arithmetic Coding) for the quantizedcoefficient that is supplied from the quantization unit 35.

In addition, the lossless encoding unit 36 performs lossless coding ofthe quantization parameters, the offset filter information, and thefilter coefficient such as the intra prediction mode information or theinter prediction mode information, the motion vector, the index of theRPS or the RPS as coding information relating to coding. The losslessencoding unit 36 supplies the coding information and the coefficients,which have been coded in a lossless manner to the accumulation buffer 37as coded data so as to be stored therein. In addition, the codinginformation that has been coded in a lossless manner may be regarded asheader information (slice header) of the coefficient that is coded in alossless manner.

The accumulation buffer 37 temporarily stores the coded data suppliedfrom the lossless encoding unit 36. In addition, the accumulation buffer37 supplies the coded data that is stored to the setting unit 12illustrated in FIG. 3.

In addition, the quantized coefficient that is output from thequantization unit 35 is input also to the inverse quantization unit 38.The inverse quantization unit 38 performs inverse quantization of thecoefficient quantized by the quantization unit 35 by using thequantization parameters supplied from the rate control unit 50 andsupplies an orthogonal transform coefficient acquired as a resultthereof to the inverse orthogonal transform unit 39.

The inverse orthogonal transform unit 39 performs an inverse orthogonaltransform of the orthogonal transform coefficient supplied from theinverse quantization unit 38. The inverse orthogonal transform unit 39supplies residual information acquired as a result of the inverseorthogonal transform to the addition unit 40.

The addition unit 40 adds the residual information supplied from theinverse orthogonal transform unit 39 and the predicted image suppliedfrom the predicted image selection unit 48, thereby acquiring an imagethat has been locally decoded. In addition, in a case where thepredicted image is not supplied from the predicted image selection unit48, the addition unit 40 sets the residual information supplied from theinverse orthogonal transform unit 39 as a locally decoded image. Theaddition unit 40 supplies the locally decoded image to the deblockingfilter 41 and supplies the locally decoded image to the frame memory 44so as to be stored therein.

The deblocking filter 41 performs an adaptive deblocking filter processfor removing a block distortion for the locally decoded image that issupplied from the addition unit 40 and supplies an image acquired as aresult thereof to the adaptive offset filter 42.

The adaptive offset filter 42 performs an adaptive offset filter (SAO:Sample adaptive offset) process that mainly removes ringing for theimage after the adaptive deblocking filter process performed by thedeblocking filter 41.

More specifically, the adaptive offset filter 42 determines the type ofadaptive offset filter process for each LCU (Largest Coding Unit) thatis a maximal coding unit and acquires an offset that is used in theadaptive offset filter process. The adaptive offset filter 42 performsan adaptive offset filter process of the determined type for the imageafter the adaptive deblocking filter process by using the acquiredoffset. Then, the adaptive offset filter 42 supplies the image after theadaptive offset filter process to the adaptive loop filter 43.

In addition, the adaptive offset filter 42 has a buffer in which anoffset is stored. The adaptive offset filter 42, for each LCU,determines whether or not the offset used for the adaptive deblockingfilter process has already been stored in the buffer.

In a case where it is determined that the offset used for the adaptivedeblocking filter process has already been stored in the buffer, theadaptive offset filter 42 sets the storage flag, which representswhether or not the offset is stored in the buffer, to a value (here,“1”) representing that the offset is stored in the buffer.

Then, the adaptive offset filter 42, for each LCU, supplies the storageflag set to “1”, the index that represents the storage position of anoffset in the buffer, and the type information that represents the typeof the adaptive offset filter process that has been performed to thelossless encoding unit 36.

On the other hand, in a case where the offset used in the adaptivedeblocking filter process has not been stored in the buffer, theadaptive offset filter 42 stores the offset in order in the buffer. Inaddition, the adaptive offset filter 42 sets the storage flag to a value(here, “0”) represents that the offset is not stored in the buffer.Then, the adaptive offset filter 42, for each LCU, supplies the storageflag set to “0”, the offset, and the type information to the losslessencoding unit 36.

The adaptive loop filter 43 performs, for example, for each LCU, anadaptive loop filter (ALF: Adaptive Loop Filter) process for the imageafter the adaptive offset filter process that is supplied from theadaptive offset filter 42. As the adaptive loop filter process, forexample, a process using a two-dimensional Wiener filter is used. It isapparent that a filter other than the Wiener filter may be used.

More specifically, the adaptive loop filter 93, for each LCU, calculatesa filter coefficient used in the adaptive loop filter process such thata residual between the original image that is an image output from thescreen rearrangement buffer 32 and an image after the adaptive loopfilter process is minimized. Then, the adaptive loop filter 43 performs,for each LCU, the adaptive loop filter process for the image after theadaptive offset filter process by using the calculated filtercoefficient.

The adaptive loop filter 43 supplies the image after the adaptive loopfilter process to the frame memory 44. In addition, the adaptive loopfilter 43 supplies the filter coefficient to the lossless encoding unit36.

Here, although the adaptive loop filter process is assumed to beperformed for each LCU, the processing unit of the adaptive loop filterprocess is not limited to the LCU. However, by matching the processingunits of the adaptive offset filter 42 and the adaptive loop filter 43each other, the process can be efficiently performed.

The frame memory 44 stores the image supplied from the adaptive loopfilter 43 and the image supplied from the addition unit 40. The imagestored in the frame memory 44 is output to the intra prediction unit 46or the motion prediction/compensation unit 47 through the switch 45 as areference image.

The intra prediction unit 46 performs intra prediction processes of allthe intra prediction modes that are candidates by using the referenceimage read from the frame memory 44 through the switch 45.

In addition, the intra prediction unit 46 calculates cost functionvalues (to be described in detail) for all the intra prediction modesthat are candidates based on the image read from the screenrearrangement buffer 32 and the predicted image generated as a result ofthe intra prediction process. Then, the intra prediction unit 46determines an intra prediction mode of which the cost function value isthe minimal as an optimal intra prediction mode.

The intra prediction unit 46 supplies the predicted image that isgenerated in the optimal intra prediction mode and a corresponding costfunction value to the predicted image selection unit 48. In a case wherethe intra prediction unit 46 is notified of the selection of theprediction image generated in the optimal intra prediction mode from thepredicted image selection unit 48, the intra prediction unit 46 suppliesthe intra prediction mode information to the lossless encoding unit 36.

The cost function value is also called as an RD (Rate Distortion) costand, for example, as defined in JM (Joint Model) that is referencesoftware according to the H.264/AVC system, is calculated based on atechnique of one of a high complexity mode and a low complexity mode.

More specifically, in a case where the high complexity mode is employedas the technique for calculating the cost function value, for all theprediction modes that are the candidates, decoding is temporarilyperformed for all the prediction modes that are the candidates, and acost function value represented in the following Equation (1) iscalculated for each prediction mode.

Cost (Mode)=D+λR  (1)

Here, D is a difference (distortion) between the original image and thedecoded image, R is the amount of generated coding including also thecoefficient of the orthogonal transform, and λ is a Lagrange multipliergiven as a function of the quantization parameter QP.

On the other hand, in a case where the low complexity mode is employedas the technique for calculating the cost function value, for each ofall the prediction modes that are the candidates, the generation of apredicted image and the calculation of the coding amount of the codinginformation are performed, and a cost function represented in thefollowing Equation (2) is calculated for each prediction mode.

Cost (Mode)=D+QPtoQuant (QP) Header_Bit  (2)

Here, D is a difference (distortion) between the original image and thedecoded image, Header_Bit is the coding amount of coding information,and QPtoQuant is a function given as a function of the quantizationparameter QP.

In the low complexity mode, for all the prediction modes, onlyprediction images may be generated, and it is not necessary to generateddecoded images, whereby the calculation amount is small.

The motion prediction/compensation unit 47 performs the motionprediction/compensation process of all the inter prediction modes thatare the candidates. More specifically, the motionprediction/compensation unit 47 detects motion vectors of all the interprediction modes that are the candidates based on the image suppliedfrom the screen rearrangement buffer 32 and the reference image that isread from the frame memory 44 through the switch 45. Then, the motionprediction/compensation unit 47 serves as a predicted image generationunit and generates predicted images by performing compensation processesof the reference image based on the motion vectors.

At this time, the motion prediction/compensation unit 47 calculates costfunction values for all the inter prediction modes that are thecandidates based on the image supplied from the screen rearrangementbuffer 32 and the predicted images and determines an inter predictionmode of which the cost function value is the minimal as the optimalinter prediction mode. Then, the motion prediction/compensation unit 47supplies the cost function value of the optimal inter prediction modeand a corresponding predicted image to the predicted image selectionunit 48. In addition, in a case where the motion prediction/compensationunit 47 is notified of the selection of the predicted image generated inthe optimal inter prediction mode from the predicted image selectionunit 48, the motion prediction/compensation unit 47 outputs the interprediction mode information, the corresponding motion vector, and thelike to the lossless encoding unit 36 and outputs the reference imagespecifying information to the reference image setting unit 49.

The predicted image selection unit 48 determines one of the optimalintra prediction and the optimal inter prediction mode of which thecorresponding cost function value is less as the optimal prediction modebased on the cost function values supplied from the intra predictionunit 46 and the motion prediction/compensation unit 47. Then, thepredicted image selection unit 48 supplies the predicted image of theoptimal prediction mode to the calculation unit 33 and the addition unit40. In addition, the predicted image selection unit 48 notifies theintra prediction unit 46 or the motion prediction/compensation unit 47of the selection of the predicted image of the optimal prediction mode.

The reference image setting unit 49 maintains the reference imagespecifying information, which is supplied from the motionprediction/compensation unit 47, corresponding to the GOP. In a casewhere the current coding image is a first image of the GOP, thereference image setting unit 49 supplies “0” as the index of the RPS andthe RPS flag representing that the RPS of the current coding image is anRPS included in the SPS to the lossless encoding unit 36.

On the other hand, in a case where the current coding image is an imageother than the first image of the GOP, the reference image setting unit49 compares the maintained reference image specifying information of theprior image and the reference image specifying information of thecurrent coding image with each other and determinesinter_ref_pic_set_prediction_flag and delta_idx_minus1 based on a resultof the comparison. Then, the reference image setting unit 49 sets theRPS including the determined inter_ref_pic_set_prediction_flag and thereference image specifying information of the current coding image ordelta_idx_minus1 as the RPS of the current coding image.

Then, in a case where the RPS that is the same as the RPS of the currentcoding image is supplied from the setting unit 12, the reference imagesetting unit 49 supplies the index of the RPS and the RPS flagrepresenting that the RPS of the current coding image is the RPSincluded in the SPS to the lossless encoding unit 36. On the other hand,in a case where the RPS that is the same as the RPS of the currentcoding image is not supplied from the setting unit 12, the referenceimage setting unit 49 supplies the RPS of the current coding image andthe RPS flag representing that the RPS of the current coding image isnot the RPS included in the SPS to the lossless encoding unit 36.

The rate control unit 50 determines quantization parameters used by thequantization unit 35 based on the coded data stored in the accumulationbuffer 37 such that an overflow or an underflow does not occur. The ratecontrol unit 50 supplies the determined quantization parameters to thequantization unit 35, the lossless encoding unit 36, and the inversequantization unit 38.

(Example of Syntax of SPS)

FIG. 5 is a diagram that illustrates an example of the syntax of the SPSthat is set by the setting unit 12 illustrated in FIG. 3.

As illustrated in the 18th line in FIG. 5, the RPS of each index (i) isincluded in the SPS.

(Example of Syntax of RPS)

FIG. 6 is a diagram that illustrates an example of the syntax of theRPS.

While not illustrated in the figure, descriptions of the sixth line andsubsequent lines illustrated in FIG. 6 are the same as those of thethird line and subsequent lines illustrated in FIG. 1.

As illustrated in the second and third lines in FIG. 6, in the RPS ofwhich the index (idx) is zero, inter_ref_pic_set_prediction_flag is notincluded but the reference image specifying information included in acase where inter_ref_pic_set_prediction_flag is “0” is included.

On the other hand, as illustrated in the fourth and fifth lines, in theRPS of which index (idx) is other than “0”,inter_ref_pic_set_prediction_flag is included. Then, in a case whereinter_ref_pic_set_prediction_flag is “0”, the reference image specifyinginformation is included. On the other hand, in a case whereinter_ref_pic_set_prediction_flag is “1”, delta_idx_minus1 is included.

(Description of Advantages of Present Technology)

FIG. 7 is a diagram that illustrates the information amount of the RPSthat is set by the setting unit 12 illustrated in FIG. 3, and FIG. 8 isa diagram that illustrates the information amount of a conventional RPS.

In the examples illustrated in FIGS. 7 and 8, the reference imagespecifying information of the second and eighth pictures from the startwithin the GOP is the same as the reference image specifying informationof a prior picture in coding order.

In this case, as illustrated in FIG. 7, the setting unit 12 sets thereference image specifying information of the first picture of the GOPas the RPS of which the index is “0”. In addition, the setting unit 12,for example, as the RPS of which the index is “1”, sets “1” asinter_ref_pic_set_prediction_flag and sets “0” as delta_idx_minus1.Thus, the index of the RPS of the first picture of the GOP is set as“0”, and the indexes of the RPS's of the second and eighth pictures areset as “1”.

In contrast, as illustrated in FIG. 8, in the conventional case, forexample, as the RPS of which index is “0”, “0” asinter_ref_pic_set_prediction_flag and the reference image specifyinginformation of the first picture of the GOP are set. In addition,similar to the case of the setting unit 12, the RPS of which the indexis “1” is set. Thus, the index of the first picture of the GOP is set as“0”, and the indexes of the RPS's of the second and eighth pictures areset as “1”.

As above, the setting unit 12 does not setinter_ref_pic_set_prediction_flag as the RPS of which the index is “0”that is used as the RPS of the first picture. In other words, since thefirst picture of the GOP does not have any prior picture in codingorder, inter_ref_pic_set_prediction_flag is necessarily to be “0”.Accordingly, the setting unit 12 does not setinter_ref_pic_set_prediction_flag as the RPS, of which the index is “0”,used as the RPS of the first picture but sets only the reference imagespecifying information due to inter_ref_pic_set_prediction_flag being“0”. As a result, the amount of information of the RPS can be decreasedfrom that of a conventional case by an amount corresponding tointer_ref_pic_set_prediction_flag of the first picture.

(Example of Syntax of Slice Header)

FIG. 9 is a diagram that illustrates an example of the syntax of a sliceheader.

As illustrated in the fifth line in FIG. 9, in the slice header, an RPSflag (short_term_ref_pic_set_sps_flag) of a corresponding coefficient isincluded. In addition, as illustrated in the sixth and seventh lines inFIG. 9, in a case where the RPS flag is “0” representing that the RPS ofthe current coding image is not the RPS included in the SPS, in theslice header, the RPS of a corresponding coefficient is included asshort_term_ref_pic_set (num_short_term_ref_pic_sets).

On the other hand, as illustrated in the eighth and ninth lines in FIG.9, in a case where the RPS flag is “1” representing that the RPS of thecurrent coding image is the RPS included in the SPS, in the sliceheader, the index of the RPS of a corresponding coefficient is includedas short_term_ref_pic_set_idx (num_short_term_ref_pic_sets).

(Description of Process of Encoding Device)

FIG. 10 is a flowchart that illustrates a generation process performedby the encoding device 10 illustrated in FIG. 3.

In Step S11 illustrated in FIG. 10, the setting unit 12 of the encodingdevice 10 performs an RPS setting process for setting the RPS. This RPSsetting process will be described in detail later with reference to FIG.11 to be described later. In Step S12, the encoding unit 11 performs acoding process for coding an image, which is configured in units offrames, input from the outside as an input signal in accordance with theHEVC system. This coding process will be described later in detail withreference to FIGS. 12 and 13 to be described later.

In Step S13, the setting unit 12 sets the SPS that includes the RPS towhich the index is assigned. In Step S14, the setting unit 12 sets thePPS. In Step S15, the setting unit 12 generates a coded stream based onthe SPS and the PPS, which have been set, and the coded data suppliedfrom the encoding unit 11. The setting unit 12 supplies the coded streamto the transmission unit 13.

In Step S16, the transmission unit 13 transmits the coded streamsupplied from the setting unit 12 to the decoding device to be describedlater and ends the process.

FIG. 11 is a flowchart that illustrates an RPS setting processrepresented in Step S11 that is illustrated in FIG. 10 in detail.

In Step S21 illustrated in FIG. 11, the setting unit 12 sets the index iof the RPS to “0”. In Step S22, it is determined whether or not theindex i of the RPS is “0”. In Step S22, in a case where the index i ofthe RPS is determined to be “0”, in Step S23, the setting unit 12 setsinter_ref_pic_set_prediction_flag to “0”, and the process proceeds toStep S25.

On the other hand, in a case where the index i of the RPS is determinednot to be “0” in Step S22, the setting unit 12, in Step S24, sets theRPS of the index i as inter_ref_pic_set_prediction_flag, and the processproceeds to Step S25.

In Step S25, the setting unit 12 determines whether or notinter_ref_pic_set_prediction_flag is “1”. In a case where it isdetermined that inter_ref_pic_set_prediction_flag is “1” in Step S25, inStep S26, the setting unit 12 sets delta_idx_minus1 as the RPS of theindex i, and the process proceeds to Step S28.

On the other hand, in a case where it is determined thatinter_ref_pic_set_prediction_flag is not “1” in Step S25, in otherwords, in a case where inter_ref_pic_set_prediction_flag is “0”, in StepS27, the setting unit 12 sets the reference image specifyinginformation, and the process proceeds to Step S28.

In Step S28, the setting unit 12 increments the index i by one. In StepS29, the setting unit 12 determines whether or not the index i is equalto or larger than the number num_short_term_ref_pic_sets of RPS'sincluded in the SPS.

In a case where it is determined that the index i is not the numbernum_short_term_ref_pic_sets or more in Step S29, the process is returnedto Step S22, and the process of Steps S22 to S29 is repeated until theindex i becomes the number num_short_term_ref_pic_sets or more.

On the other hand, in a case where it is determined that the index i isthe number num_short_term_ref_pic_sets or more in Step S29, the processis returned to Step S11 illustrated in FIG. 10 and proceeds to Step S12.

FIGS. 12 and 13 represent a flowchart that illustrates the codingprocess of Step S12 illustrated in FIG. 10 in detail.

In Step S31 illustrated in FIG. 12, the A/D converter 31 of the encodingunit 11 performs A/D conversion of an image, which is in units offrames, input as an input signal and outputs the converted image to thescreen rearrangement buffer 32 so as to be stored therein.

In Step S32, the screen rearrangement buffer 32 rearranges the storedimages of frames, which are arranged in display order, in order forcoding in accordance with the structure of the GOP. The screenrearrangement buffer 32 supplies the images that are configured in unitsof frames after the rearrangement to the calculation unit 33, the intraprediction unit 46, and the motion prediction/compensation unit 47.

In Step S33, the intra prediction unit 46 performs an intra predictionprocess of all the intra prediction modes that are candidates. Inaddition, the intra prediction unit 46 calculates cost function valuesfor all the intra prediction modes that are the candidates based onbased on the image read from the screen rearrangement buffer 32 and thepredicted image generated as a result of the intra prediction process.Then, the intra prediction unit 46 determines an intra prediction modeof which the cost function value is the minimal as an optimal intraprediction mode. The intra prediction unit 46 supplies the predictedimage generated in the optimal intra prediction mode and a correspondingcost function value to the predicted image selection unit 48.

In addition, the motion prediction/compensation unit 47 performs amotion prediction/compensation process of all the inter prediction modesthat are candidates. Furthermore, the motion prediction/compensationunit 47 calculates cost function values of all the inter predictionmodes that are the candidates based on the image supplied from thescreen rearrangement buffer 32 and the predicted images and determinesan inter prediction mode of which the cost function value is the minimalas an optimal inter prediction mode. Then, the motionprediction/compensation unit 47 supplies the cost function value of theoptimal inter prediction mode and a corresponding predicted image to thepredicted image selection unit 48.

In Step S34, the predicted image selection unit 48 determines one of theoptimal intra prediction mode and the optimal inter prediction mode ofwhich the cost function value is the minimal as an optimal predictionmode based on the cost function values supplied from the intraprediction unit 46 and the motion prediction/compensation unit 47 in theprocess of Step S33. Then, the predicted image selection unit 48supplies a predicted image of the optimal prediction mode to thecalculation unit 33 and the addition unit 40.

In Step S35, the predicted image selection unit 48 determines whether ornot the optimal prediction mode is the optimal inter prediction mode. Ina case where it is determined that the optimal prediction mode is theoptimal inter prediction mode in Step S35, the predicted image selectionunit 48 notifies the motion prediction/compensation unit 47 of theselection of the predicted image generated in the optimal interprediction mode.

Then, in Step S36, the motion prediction/compensation unit 47 suppliesthe inter prediction mode information and a corresponding motion vectorto the lossless encoding unit 36. The motion prediction/compensationunit 47 supplies the reference image specifying information to thereference image setting unit 49.

In Step S37, the reference image setting unit 49 performs an RPS indexdetermining process for determining the index of the RPS. This RPS indexdetermining process will be described later in detail with reference toFIG. 14 to be described later.

On the other hand, in Step S35, in a case where it is determined thatthe optimal prediction mode is not the optimal inter prediction mode, inother words, in a case where the optimal prediction mode is the optimalintra prediction mode, the predicted image selection unit 48 notifiesthe intra prediction unit 46 of the selection of the predicted imagegenerated in the optimal intra prediction mode. Then, in Step S38, theintra prediction unit 46 supplies the intra prediction mode informationto the lossless encoding unit 36, and the process proceeds to Step S39.

In Step S39, the calculation unit 33 subtracts the predicted imagesupplied from the predicted image selection unit 48 from the imagesupplied from the screen rearrangement buffer 32, thereby performingcoding. The calculation unit 33 outputs an image acquired as a resultthereof to the orthogonal transform unit 34 as residual information.

In Step S40, the orthogonal transform unit 34 performs an orthogonaltransform for the residual information output from the calculation unit33 and supplies an orthogonal transform coefficient acquired as a resultthereof to the quantization unit 35.

In Step S41, the quantization unit 35 quantizes the coefficient suppliedfrom the orthogonal transform unit 34 by using the quantizationparameters supplied from the rate control unit 50. The quantizedcoefficient is input to the lossless encoding unit 36 and the inversequantization unit 38.

In Step S42 illustrated in FIG. 13, the inverse quantization unit 38performs inverse quantization of the quantized coefficient supplied fromthe quantization unit 35 by using the quantization parameters suppliedfrom the rate control unit 50 and supplies an orthogonal transformcoefficient acquired as a result thereof to the inverse orthogonaltransform unit 39.

In Step S43, the inverse orthogonal transform unit 39 performs aninverse orthogonal transform for the orthogonal transform coefficientsupplied from the inverse quantization unit 38 and supplies residualinformation acquired as a result thereof to the addition unit 40.

In Step S44, the addition unit 40 adds the residual information suppliedfrom the inverse orthogonal transform unit 39 and the predicted imagesupplied from the predicted image selection unit 48, thereby acquiring alocally decoded image. The addition unit 40 supplies the acquired imageto the deblocking filter 41 and the frame memory 44.

In Step S45, the deblocking filter 41 performs a deblocking filterprocess for the locally decoded image that is supplied from the additionunit 40. The deblocking filter 41 supplies an image acquired as a resultthereof to the adaptive offset filter 42.

In Step S46, the adaptive offset filter 42 performs an adaptive offsetfilter process for the image supplied from the deblocking filter 41 foreach LCU. The adaptive offset filter 42 supplies an image acquired as aresult thereof to the adaptive loop filter 43. In addition, the adaptiveoffset filter 42, for each LCU, supplies the storage flag, the index orthe offset, and the type information to the lossless encoding unit 36 asthe offset filter information.

In Step S47, the adaptive loop filter 43 performs an adaptive loopfilter process for the image supplied from the adaptive offset filter 42for each LCU.

The adaptive loop filter 43 supplies an image acquired as a resultthereof to the frame memory 44. In addition, the adaptive loop filter 43supplies the filter coefficient used in the adaptive loop filter processto the lossless encoding unit 36.

In Step S48, the frame memory 44 stores the image supplied from theadaptive loop filter 43 and the image supplied from the addition unit40. The images stored in the frame memory 44 are output to the intraprediction unit 46 or the motion prediction/compensation unit 47 throughthe switch 45 as reference images.

In Step S49, the lossless encoding unit 36 performs lossless coding forquantization parameters, offset filter information, and filtercoefficients, which are supplied from the rate control unit 50, such asthe intra prediction mode information or the inter prediction modeinformation, the motion vector, the index of the RPS or the RPS, and thelike as coding information.

In Step S50, the lossless encoding unit 36 performs lossless coding forthe quantized coefficient supplied from the quantization unit 35. Then,the lossless encoding unit 36 generates coded data based on the codinginformation and the coefficient that have been coded in a losslessmanner in the process of Step S49.

In Step S51, the accumulation buffer 37 temporarily stores the codeddata supplied from the lossless encoding unit 36.

In Step S52, the rate control unit 50 determines the quantizationparameters used by the quantization unit 35 based on the coded datastored in the accumulation buffer 37 such that an overflow or anunderflow does not occur. The rate control unit 50 supplies thedetermined quantization parameters to the quantization unit 35, thelossless encoding unit 36, and the inverse quantization unit 38.

In Step S53, the accumulation buffer 37 outputs the stored coded data tothe setting unit 12 illustrated in FIG. 3.

In the coding process illustrated in FIGS. 12 and 13, for thesimplification of description, while both the intra prediction processand the motion prediction/compensation process are configured to beconstantly performed, actually, only one thereof may be performed inaccordance with the picture type or the like.

FIG. 14 is a flowchart that illustrates the RPS index determiningprocess represented in Step S37 illustrated in FIG. 12 in detail.

In Step S71 illustrated in FIG. 14, the reference image setting unit 49maintains the reference image specifying information, which is suppliedfrom the motion prediction/compensation unit 47, corresponding to theGOP. In Step S72, the reference image setting unit 49 determines whetheror not the current coding image is the first image of the GOP.

In a case where the current coding image is determined to be the firstimage of the GOP in Step S72, in Step S73, the reference image settingunit 49 sets the RPS flag to “1”. In Step S74, the reference imagesetting unit 49 sets the index of the RPS to “0”, and the processproceeds to Step S79.

On the other hand, in a case where the current coding image isdetermined to be an image other than the first image of the GOP in StepS72, in Step S75, the reference image setting unit 49 generates an RPSof the current coding image.

More specifically, the reference image setting unit 49 determineswhether or not the maintained reference image specifying information ofthe prior image and the reference image specifying information of thecurrent coding image are the same. In a case where the maintainedreference image specifying information of the prior image and thereference image specifying information of the current coding image aredetermined to be the same, the reference image setting unit 49 generatesthe RPS of the current coding image that includes “1” asinter_ref_pic_set_prediction_flag and includes delta_idx_minus1.

On the other hand, in a case where the maintained reference imagespecifying information of the prior image and the reference imagespecifying information of the current coding image are determined not tobe the same, the reference image setting unit 49 generates the RPS ofthe current coding image that includes “0” asinter_ref_pic_set_prediction_flag.

In Step S76, the reference image setting unit 49 determines whether ornot the RPS of the current coding image is the same as the RPS includedin the SPS that is supplied from the setting unit 12. In Step S76, in acase where the RPS of the current coding image is determined to be thesame as the RPS included in the SPS, in Step S77, the reference imagesetting unit 49 sets the RPS flag to “1”.

In Step S78, the reference image setting unit 49 recognizes the index ofthe RPS included in the SPS that is the same as the RPS of the currentcoding image, and the process proceeds to Step S79. In Step S79, thereference image setting unit 49 supplies the RPS flag set in Step S73 orStep S77 and the index of the RPS that is set in Step S74 or the indexof the RPS that is recognized in Step S78 to the lossless encoding unit36. Then, the process is returned to Step S37 illustrated in FIG. 12,and the process proceeds to Step S39.

On the other hand, in a case where the RPS of the current coding imageis determined not to be the same as the RPS included in the SPS in StepS76, the reference image setting unit 49 sets the RPS flag to “0”. InStep S81, the reference image setting unit 49 supplies the RPS flag setin Step S80 and the RPS generated in Step S75 to the lossless encodingunit 36. Then, the process is returned to Step S37 illustrated in FIG.12, and the process proceeds to Step S39.

As above, in a case where the current coding image is an image otherthan the first image of the GOP, the encoding device 10 transmitsinter_ref_pic_set_prediction_flag. In other words, in a case where thecurrent coding image is the first image of the GOP, the encoding device10 does not transmit inter_ref_pic_set_prediction_flag. Accordingly, theinformation amount of the RPS relating to the reference image specifyinginformation can be decreased by an amount corresponding tointer_ref_pic_set_prediction_flag of the first image of the GOP.

(Configuration Example of Decoding Device According to First Embodiment)

FIG. 15 is a block diagram that illustrates an example of theconfiguration of a decoding device, to which the present technology isapplied, according to the first embodiment that decodes a coded streamtransmitted from the encoding device 10 illustrated in FIG. 3.

The decoding device 110 illustrated in FIG. 15 is configured by areception unit 111, an extraction unit 112, and a decoding unit 113.

The reception unit 111 of the decoding device 110 receives a codedstream that is transmitted from the encoding device 10 illustrated inFIG. 3 and supplies the received coded stream to the extraction unit112.

The extraction unit 112 extracts an SPS, a PPS, coded data, and the likefrom the coded stream that is supplied from the reception unit 111. Theextraction unit 112 supplies the coded data to the decoding unit 113. Inaddition, the extraction unit 112, based on the SPS, acquiresinter_ref_pic_set_prediction_flag of each RPS and delta_idx_minus1 orthe reference image specifying information and supplies the acquiredinformation to the decoding unit 113. In addition, the extraction unit112 supplies information other than the RPS included in the SPS, thePPS, and the like to the decoding unit 113 as is necessary.

Based on inter_ref_pic_set_prediction_flag of each RPS anddelta_idx_minus1 or the reference image specifying information suppliedfrom the extraction unit 112, the decoding unit 113 decodes the codeddata supplied from the extraction unit 112 in accordance with the HEVCsystem. At this time, the decoding unit 113 refers to information otherthan the RPS included in the SPS, the PPS, and the like as is necessary.The decoding unit 113 outputs an image acquired as a result of thedecoding as an output signal.

(Configuration Example of Decoding Unit)

FIG. 16 is a block diagram that illustrates an example of theconfiguration of the decoding unit 113 illustrated in FIG. 15.

The decoding unit 113 illustrated in FIG. 16 is configured by: anaccumulation buffer 131; a lossless decoding unit 132; an inversequantization unit 133; an inverse orthogonal transform unit 134; anaddition unit 135; a deblocking filter 136; an adaptive offset filter137; an adaptive loop filter 138; a screen rearrangement buffer 139; aD/A converter 140; a frame memory 141; a switch 142; an intra predictionunit 143; a reference image setting unit 144; a motion compensation unit145; and a switch 146.

The accumulation buffer 131 of the decoding unit 113 receives coded datafrom the extraction unit 112 illustrated in FIG. 15 and stores thereceived coded data. The accumulation buffer 131 supplies the storeddecoded data to the lossless decoding unit 132.

The lossless decoding unit 132 performs lossless decoding such asvariable-length decoding or arithmetic decoding for the coded datasupplied from the accumulation buffer 131, thereby acquiring quantizedcoefficients and coding information. The lossless decoding unit 132supplies the quantized coefficients to the inverse quantization unit133. In addition, the lossless decoding unit 132 supplies the intraprediction mode information and the like as the coding information tothe intra prediction unit 143 and supplies the motion vector, the interprediction mode information, and the like to the motion compensationunit 145. The lossless decoding unit 132 supplies the RPS flag and theindex of the RPS or the RPS to the reference image setting unit 144 asthe coding information.

In addition, the lossless decoding unit 132 supplies the intraprediction mode information or the inter prediction mode information asthe coding information to the switch 146. The lossless decoding unit 132supplies the offset filter information as the coding information to theadaptive offset filter 137 and supplies the filter coefficient to theadaptive loop filter 138.

The inverse quantization unit 133, the inverse orthogonal transform unit134, the addition unit 135, the deblocking filter 136, the adaptiveoffset filter 137, the adaptive loop filter 138, the frame memory 141,the switch 142, the intra prediction unit 143, and the motioncompensation unit 145 perform processes that are similar to those of theinverse quantization unit 38, the inverse orthogonal transform unit 39,the addition unit 40, the deblocking filter 41, the adaptive offsetfilter 42, the adaptive loop filter 43, the frame memory 44, the switch45, the intra prediction unit 46, and the motion prediction/compensationunit 47 illustrated in FIG. 4, whereby the image is decoded.

More specifically, the inverse quantization unit 133 performs inversequantization of the quantized coefficients supplied from the losslessdecoding unit 132 and supplies orthogonal transform coefficientsacquired as a result thereof to the inverse orthogonal transform unit134.

The inverse orthogonal transform unit 134 performs an inverse orthogonaltransform for the orthogonal transform coefficients supplied from theinverse quantization unit 133. The inverse orthogonal transform unit 134supplies residual information acquired as a result of the inverseorthogonal transform to the addition unit 135.

The addition unit 135 serves as a decoding unit and performs decoding byadding the residual information that is supplied from the inverseorthogonal transform unit 134 as a current decoding image and thepredicted image supplied from the switch 146. The addition unit 135supplies an image acquired as a result of the decoding to the deblockingfilter 136 and the frame memory 141. In addition, in a case where thepredicted image is not supplied from the switch 146, the addition unit135 supplies the image that is the residual information supplied fromthe inverse orthogonal transform unit 134 to the deblocking filter 136as an image acquired as a result of the decoding and supplies the imageto the frame memory 141 so as to be stored therein.

The deblocking filter 136 performs an adaptive deblocking filter processfor the image supplied from the addition unit 135 and supplies an imageacquired as a result thereof to the adaptive offset filter 137.

The adaptive offset filter 137 has a buffer that sequentially storesoffsets supplied from the lossless decoding unit 132. In addition, theadaptive offset filter 137, for each LCU, performs an adaptive offsetfilter process for the image after the adaptive deblocking filterprocess performed by the deblocking filter 136 based on the offsetfilter information supplied from the lossless decoding unit 132.

More specifically, in a case where the storage flag included in theoffset filter information is “0”, the adaptive offset filter 137performs an adaptive offset filter process of a type represented by thetype information by using the offset included in the offset filterinformation for the image after the deblocking filter process that isperformed in units of LCUs.

On the other hand, in a case where the storage flag included in theoffset filter information is “1”, the adaptive offset filter 137 readsan offset that is stored at a position represented by the index includedin the offset filter information for the image after the deblockingfilter process performed in units of LCUs. Then, the adaptive offsetfilter 137 performs an adaptive offset filter process of a typerepresented by the type information by using the read offset. Theadaptive offset filter 137 supplies the image after the adaptive offsetfilter process to the adaptive loop filter 138.

The adaptive loop filter 138 performs the adaptive loop filter processfor each LCU for the image supplied from the adaptive offset filter 137by using the filter coefficients supplied from the lossless decodingunit 132. The adaptive loop filter 138 supplies an image acquired as aresult thereof to the frame memory 141 and the screen rearrangementbuffer 139.

The screen rearrangement buffer 139 stores images supplied from theadaptive loop filter 138 in units of frames. The screen rearrangementbuffer 139 rearranges the stored images, which are in units of framesthat are arranged in order for coding in the original order and suppliesthe rearranged images to the D/A converter 140.

The D/A converter 140 performs D/A conversion of the image, which isconfigured in units of frames, supplied from the screen rearrangementbuffer 139 and outputs the converted image as an output signal. Theframe memory 141 stores the image supplied from the adaptive loop filter138 and the image supplied from the addition unit 135. The image storedin the frame memory 141 is read as a reference image and is supplied tothe motion compensation unit 145 or the intra prediction unit 143through the switch 142.

The intra prediction unit 143 performs an intra prediction process of anintra prediction mode represented by the intra prediction modeinformation supplied from the lossless decoding unit 132 by using thereference image read from the frame memory 141 through the switch 142.The intra prediction unit 143 supplies a predicted image generated as aresult thereof to the switch 146.

The reference image setting unit 144 maintainsinter_ref_pic_set_prediction_flag of each RPS and delta_idx_minus1 orthe reference image specifying information supplied from the extractionunit 112 illustrated in FIG. 15 as the RPS information. In addition, thereference image setting unit 144 generates the reference imagespecifying information of the current decoding image based on the RPSflag and the index of the RPS or the RPS and the RPS information of eachRPS that are supplied from the lossless decoding unit 132. The referenceimage setting unit 144 supplies the generated reference image specifyinginformation to the motion compensation unit 145 and maintains thereference image specifying information.

The motion compensation unit 145 reads a reference image specified bythe reference image specifying information from the frame memory 141through the switch 142 based on the reference image specifyinginformation that is supplied from the reference image setting unit 144.The motion compensation unit 145 serves as a predicted image generationunit and performs a motion compensation process of an optimal interprediction mode that is represented by the inter prediction modeinformation by using the motion vector and the reference image. Themotion compensation unit 145 supplies a predicted image generated as aresult thereof to the switch 146.

In a case where the intra prediction mode information is supplied fromthe lossless decoding unit 132, the switch 146 supplies the predictedimage supplied from the intra prediction unit 143 to the addition unit135. On the other hand, in a case where the inter prediction modeinformation is supplied from the lossless decoding unit 132, the switch146 supplies the predicted image supplied from the motion compensationunit 145 to the addition unit 135.

(Description of Process of Decoding Device)

FIG. 17 is a flowchart that illustrates a reception process performed bythe decoding device 110 illustrated in FIG. 15.

In Step S111 illustrated in FIG. 17, the reception unit 111 of thedecoding device 110 receives a coded stream transmitted from theencoding device 10 illustrated in FIG. 3 and supplies the received codedstream to the extraction unit 112.

In Step S112, the extraction unit 112 extracts the SPS, the PPS, thecoded data, and the like from the coded stream that is supplied from thereception unit 111. The extraction unit 112 supplies the coded data tothe decoding unit 113. In addition, the extraction unit 112 suppliesinformation other than the RPS that is included in the SPS, the PPS, andthe like to the decoding unit 113 as is necessary.

In Step S113, the extraction unit 112 acquiresinter_ref_pic_set_prediction_flag of each RPS and delta_idx_minus1 orthe reference image specifying information as the RPS information basedon the SPS and supplies the acquired information to the decoding unit113.

In Step S114, the decoding unit 113 performs a decoding process fordecoding the coded data supplied from the extraction unit 112 inaccordance with the HEVC system based on the RPS information of each RPSthat is supplied from the extraction unit 112. This decoding processwill be described in detail with reference to FIG. 19 to be describedlater. Then, the process ends.

FIG. 18 is a flowchart that illustrates the RPS setting processrepresented in Step S113 illustrated in FIG. 17 in detail.

In Step S120 illustrated in FIG. 18, the extraction unit 112 acquiresnum_short_term_ref_pic_sets that is included in the SPS (FIG. 5). InStep S121, the extraction unit 112 sets the index i of the RPS thatcorresponds to the generated RPS information to “0”. In Step S122, it isdetermined whether or not the index i of the RPS is “0”.

In a case where the index i is determined to be “0” in Step S122, inStep S123, the extraction unit 112 setsinter_ref_pic_set_prediction_flag included in the RPS information of theRPS of the index i to “0”, and the process proceeds to Step S125.

On the other hand, in a case where the index i is determined not to be“0” in Step S122, in Step S124, the extraction unit 112 acquiresinter_ref_pic_set_prediction_flag included in the RPS of the index ithat is included in the SPS. Then, the extraction unit 112 sets theacquired inter_ref_pic_set_prediction_flag asinter_ref_pic_set_prediction_flag included in the RPS information of theRPS of the index i, and the process proceeds to Step S125.

In Step S125, the extraction unit 112 determines whether or notinter_ref_pic_set_prediction_flag is “1”. In a case whereinter_ref_pic_set_prediction_flag is determined to be “1” in Step S125,in Step S126, the extraction unit 112 acquires delta_idx_minus1 includedin the RPS of the index i that is included in the SPS. Then, theextraction unit 112 sets the acquired delta_idx_minus1 asdelta_idx_minus1 included in the RPS information of the RPS of the indexi, and the process proceeds to Step S128.

On the other hand, in a case where inter_ref_pic_set_prediction_flag isdetermined not to be “1” in Step S125, in Step S127, the extraction unit112 acquires the reference image specifying information included in theRPS of the index i that is included in the SPS. Then, the extractionunit 112 sets the acquired reference image specifying information as thereference image specifying information included in the RPS informationof the RPS of the index i, and the process proceeds to Step S128.

In Step S128, the extraction unit 112 increments the index i by one. InStep S129, the extraction unit 112 determines whether or not the index iis num_short_term_ref_pic_sets acquired in Step S120 or more.

In a case where the index i is determined not to benum_short_term_ref_pic_sets or more in Step S129, the process isreturned to Step S122, and the process of Steps S122 to S129 is repeateduntil the index i is num_short_term_ref_pic_sets or more.

On the other hand, in a case where the index i is determined to benum_short_term_ref_pic_sets or more in Step S129, in Step S130, theextraction unit 112 supplies the RPS information of RPS's of which thenumber is the set num_short_term_ref_pic_sets. Then, the process isreturned to Step S113 illustrated in FIG. 17, and the process proceedsto Step S114.

FIG. 19 is a flowchart that illustrates the decoding process representedin Step S114 illustrated in FIG. 17 in detail.

In Step S131 illustrated in FIG. 19, the accumulation buffer 131 of thedecoding unit 113 receives coded data, which is configured in units offrames, from the extraction unit 112 illustrated in FIG. 15 and storesthe received coded data. The accumulation buffer 131 supplies the storedcoded data to the lossless decoding unit 132.

In Step S132, the lossless decoding unit 132 performs lossless decodingof the coded data supplied from the accumulation buffer 131, therebyacquires the quantized coefficients and the coding information. Thelossless decoding unit 132 supplies the quantized coefficients to theinverse quantization unit 133. In addition, the lossless decoding unit132 supplies the intra prediction mode information and the like as thecoding information to the intra prediction unit 143 and supplies themotion vector, the inter prediction mode information, the RPS flag, theindex of the RPS or the RPS, and the like to the motion compensationunit 145.

In addition, the lossless decoding unit 132 supplies the intraprediction mode information or the inter prediction mode information asthe coding information to the switch 146. The lossless decoding unit 132supplies the offset filter information as the coding information to theadaptive offset filter 137 and supplies the filter coefficients to theadaptive loop filter 138.

In Step S133, the inverse quantization unit 133 performs inversequantization of the quantized coefficients supplied from the losslessdecoding unit 132 and supplies orthogonal transform coefficientsacquired as a result thereof to the inverse orthogonal transform unit134.

In Step S134, the motion compensation unit 145 determines whether or notthe inter prediction mode information is supplied from the losslessdecoding unit 132. In Step S134, in a case where the inter predictionmode information is determined to be supplied, the process proceeds toStep S135.

In Step S135, the reference image setting unit 144 generates thereference image specifying information of the current decoding imagebased on the RPS information of each RPS supplied from the extractionunit 112 and the RPS flag and the index of the RPS or the RPS suppliedfrom the lossless decoding unit 132 and maintains the generatedreference image specifying information.

More specifically, the reference image setting unit 144 maintains theRPS information of each RPS that is supplied from the extraction unit112. In a case where the RPS flag is “1”, the reference image settingunit 144 reads the RPS information of the index of the RPS that isincluded in the maintained RPS information. Then, in a case whereinter_ref_pic_set_prediction_flag included in the read RPS informationis “0”, the reference image setting unit 144 generates the referenceimage specifying information included in the RPS information as thereference image specifying information of the current decoding image andmaintains the generated reference image specifying information.

On the other hand, in a case where inter_ref_pic_set_prediction_flag is“1”, the reference image setting unit 144 reads the reference imagespecifying information of the prior image that is specified bydelta_idx_minus1 included in the RPS information from among themaintained reference image specifying information. Then, the referenceimage setting unit 144 generates and maintains the read reference imagespecifying information of the prior image as the reference imagespecifying information of the current decoding image.

In addition, in a case where the RPS flag is “0”, andinter_ref_pic_set_prediction_flag included in the RPS, which is suppliedfrom the lossless decoding unit 132 together with the RPS flag, is “0”,the reference image setting unit 144 generates the reference imagespecifying information included in the RPS as the reference imagespecifying information of the current decoding image and maintains thegenerated reference image specifying information. On the other hand, ina case where inter_ref_pic_set_prediction_flag is “1”, the referenceimage setting unit 144 reads the reference image specifying informationof the prior image specified by delta_idx_minus1 included in the RPSfrom among the maintained reference image specifying information. Then,the reference image setting unit 144 generates the read reference imagespecifying information of the prior image as the reference imagespecifying information of the current decoding image and maintains thegenerated reference image specifying information.

In Step S136, the motion compensation unit 145 reads a reference imagebased on the reference image specifying information supplied from thereference image setting unit 144 and performs a motion compensationprocess of an optimal inter prediction mode represented by the interprediction mode information by using the motion vector and the referenceimage. The motion compensation unit 145 supplies a predicted imagegenerated as a result thereof to the addition unit 135 through theswitch 146, and the process proceeds to Step S138.

On the other hand, in a case where the inter prediction mode informationis determined not to be supplied in Step S134, in other words, in a casewhere the intra prediction mode information is supplied to the intraprediction unit 143, the process proceeds to Step S137.

In Step S137, the intra prediction unit 143 performs an intra predictionprocess of an intra prediction mode represented by the intra predictionmode information by using the reference image read from the frame memory141 through the switch 142. The intra prediction unit 143 supplies thepredicted image generated as a result of the intra prediction process tothe addition unit 135 through the switch 146, and the process proceedsto Step S138.

In Step S138, the inverse orthogonal transform unit 134 performs aninverse orthogonal transform for the orthogonal transform coefficientssupplied from the inverse quantization unit 133 and supplies residualinformation acquired as a result thereof to the addition unit 135.

In Step S139, the addition unit 135 adds the residual informationsupplied from the inverse orthogonal transform unit 134 and thepredicted image supplied from the switch 146. The addition unit 135supplies an image acquired as a result thereof to the deblocking filter136 and supplies the acquired image to the frame memory 141.

In Step S140, the deblocking filter 136 performs a deblocking filterprocess for the image supplied from the addition unit 135, therebyremoving a block distortion. The deblocking filter 136 supplies theimage acquired as a result thereof to the adaptive offset filter 137.

In Step S141, the adaptive offset filter 137 performs an adaptive offsetfilter process for each LCU for the image after the deblocking filterprocess performed by the deblocking filter 136 based on the offsetfilter information supplied from the lossless decoding unit 132. Theadaptive offset filter 137 supplies the image after the adaptive offsetfilter process to the adaptive loop filter 138.

In Step S142, the adaptive loop filter 138 performs an adaptive loopfilter process for each LCU for the image supplied from the adaptiveoffset filter 137 by using the filter coefficients supplied from thelossless decoding unit 132. The adaptive loop filter 138 supplies animage acquired as a result thereof to the frame memory 141 and thescreen rearrangement buffer 139.

In Step S143, the frame memory 141 stores the image supplied from theaddition unit 135 and the image supplied from the adaptive loop filter138. The images stored in the frame memory 141 are supplied to themotion compensation unit 145 or the intra prediction unit 143 throughthe switch 142 as the reference images.

In Step S144, the screen rearrangement buffer 139 stores the imagessupplied from the adaptive loop filter 138 in units of frames andrearranges the stored images, which are configured in units of frames incoding order, in the original display order and supplies the rearrangedimages to the D/A converter 140.

In Step S145, the D/A converter 140 performs D/A conversion for theimage, which is configured in units of frames, supplied from the screenrearrangement buffer 139, and outputs the converted image as an outputsignal. Then, the process is returned to Step S114 illustrated in FIG.17, and the process ends.

As above, the decoding device 110 receivesinter_ref_pic_set_prediction_flag transmitted in a case where thecurrent coding image is an image other than the first image of the GOP.In a case where inter_ref_pic_set_prediction_flag is received, thedecoding device 110 generates the reference image specifying informationof the current decoding image based oninter_ref_pic_set_prediction_flag. On the other hand, in a case whereinter_ref_pic_set_prediction_flag is not received, the decoding device110 generates the reference image specifying information of the currentdecoding image based on “0” as inter_ref_pic_set_prediction_flag.

As a result, the decoding device 110 can decode a coded stream in whichthe amount of information of the RPS is decreased by an amountcorresponding to inter_ref_pic_set_prediction_flag of the first image ofthe GOP.

Second Embodiment

(Configuration Example of Encoding Device According to SecondEmbodiment)

FIG. 20 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to the second embodiment.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 20 that is the same as the configuration illustratedin FIG. 3, and the description thereof to be repeated will be omitted.

The configuration of the encoding device 150 illustrated in FIG. 20 isdifferent from the configuration of the encoding device 10 illustratedin FIG. 3 in that a setting unit 151 is arranged instead of the settingunit 12. The encoding device 150 sets an SPS such thatinter_ref_pic_set_prediction_flag and delta_idx_minus1 can be shared inunits of GOPs.

More specifically, the setting unit 151 sets RPS's includinginter_ref_pic_set_prediction_flag, delta_idx_minus1, the reference imagespecifying information, and the like as is necessary and assigns anindex to each RPS. The setting unit 151 supplies the RPS's to which theindexes have been assigned to the encoding unit 11. In addition, thesetting unit 151 includes reference unavailable information representingwhether inter_ref_pic_set_prediction_flag is “0” in the RPS's and allthe pictures within the GOP and sets SPS's delta_idx_minus1 that iscommon to all the pictures within the GOP as is necessary. The settingunit 151 sets the PPS and the like.

In addition, the setting unit 151, similar to the setting unit 12illustrated in FIG. 3, generates a coded stream based on the SPS's andthe PPS, which have been set, and the coded data supplied from theencoding unit 11. The setting unit 151, similar to the setting unit 12,supplies the coded stream to the transmission unit 13.

(Example of Syntax of SPS)

FIG. 21 is a diagram that illustrates an example of the syntax of theSPS that is set by the setting unit 151 illustrated in FIG. 20.

As illustrated in the fourth line in FIG. 21, reference unavailableinformation (disable_rps_prediction_flag) is included in the SPS. Inaddition, as illustrated in the fifth and sixth lines, in a case wherethe reference unavailable information is “0” that does not representthat inter_ref_pic_set_prediction_flag is “0” in all the pictures withinthe GOP, identicalness information(unified_rps_prediction_control_present_flag) representing whetherdelta_idx_minus1 is identical in all the pictures within the GOP isincluded in the SPS.

Furthermore, as illustrated in the seventh and eighth lines, in a casewhere the identicalness information is “1” representing thatdelta_idx_minus1 is identical in all the pictures within the GOP,unified_delta_idx_minus1 that is delta_idx_minus1 common to all thepictures within the GOP is included in the SPS. In addition, asillustrated in the 11th line, the RPS of each index (i) is included inthe SPS.

(Example of Syntax of RPS)

FIG. 22 is a diagram that illustrates an example of the syntax of theRPS.

The descriptions of the 11th line and subsequent lines illustrated inFIG. 22 are the same as those of the fifth line and subsequent linesillustrated in FIG. 1.

As illustrated in the second and third lines in FIG. 22, in a case wheredisable_rps_prediction_flag is “1”, in the RPS,inter_ref_pic_set_prediction_flag is not included but the referenceimage specifying information included in a case whereinter_ref_pic_set_prediction_flag is “0” is included.

On the other hand, as illustrated in the fourth and fifth lines, in acase where disable_rps_prediction_flag is “0”, in the RPS,inter_ref_pic_set_prediction_flag is included. In addition, asillustrated in the sixth to eighth lines, in a case whereinter_ref_pic_set_prediction_flag andunified_rps_prediction_control_present_flag are respectively “1”, in theRPS, delta_idx_minus1 is not included, and delta_idx_minus1 isunified_delta_idx_minus1.

Furthermore, as illustrated in the ninth and tenth lines, in a casewhere inter_ref_pic_set_prediction_flag is “1” andunified_rps_prediction_control_present_flag is “0”, delta_idx_minus1 isincluded in the RPS.

(Description of Advantages of Present Technology)

FIGS. 23 and 24 are diagrams that illustrate the information amount ofthe RPS that is set by the setting unit 151 illustrated in FIG. 20, andFIG. 25 is a diagram that illustrates the information amount of aconventional RPS.

In the example illustrated in FIG. 23, the reference image specifyinginformation of each of the second picture and the eighth picture fromthe beginning within the GOP is identical to the reference imagespecifying information of a respective prior picture in coding order.

In this case, as illustrated in FIG. 23, the setting unit 151 sets “0”as disable_rps_prediction_flag and sets “1” asunified_rps_prediction_control_present_flag. In addition, the settingunit 151 sets “0” as unified_delta_idx_minus1.

Furthermore, the setting unit 151, for example, as an RPS of which theindex is “0”, sets “0” as inter_ref_pic_set_prediction_flag and sets thereference image specifying information of the first picture of the GOP.In addition, the setting unit 151, as an RPS of which the index is “1”,sets “1” as inter_ref_pic_set_prediction_flag. Thus, the index of theRPS of the first picture of the GOP is set as “0”, and the indexes ofthe RPS's of the second and eighth pictures are set as “1”.

As above, the setting unit 151 sets delta_idx_minus1 that is common toall the pictures within the GOP as unified_delta_idx_minus1.Accordingly, the setting unit 151 can set delta_idx_minus1 in units ofGOPs.

In addition, in the examples illustrated in FIGS. 24 and 25, thereference image specifying information of all the pictures within theGOP is not identical to the reference image specifying information ofrespective prior pictures in coding order.

In this case, as illustrated in FIG. 24, the setting unit 151 sets “1”as disable_rps_prediction_flag and, as an RPS corresponding to eachpicture within the GOP, sets the reference image specifying informationof the picture. In contrast, in a conventional case, as illustrated inFIG. 25, as an RPS corresponding to each picture within the GOP, “0” isset as inter_ref_pic_set_prediction_flag, and the reference imagespecifying information of the picture is set.

As above, the setting unit 151 sets “0” asinter_ref_pic_set_prediction_flag common to all the pictures within theGOP as disable_rps_prediction_flag.

Accordingly, in a case where disable_rps_prediction_flag is “1”, theamount of information of the RPS can be decreased by an amountcorresponding to inter_ref_pic_set_prediction_flag from that of theconventional case.

(Description of Process of Encoding Device)

A generation process performed by the encoding device 150 illustrated inFIG. 20 is the same as the generation process illustrated in FIG. 10except for the RPS setting process, and thus, hereinafter, only the RPSsetting process will be described.

FIG. 26 is a flowchart that illustrates the RPS setting processperformed by the setting unit 151 of the encoding device 150 in detail.

In Step S161 illustrated in FIG. 26, the setting unit 151 setsdisable_rps_prediction_flag as the SPS. In Step S162, the setting unit151 determines whether or not disable_rps_prediction_flag is “1”. In acase where disable_rps_prediction_flag is determined not to be “1” inStep S162, in Step S163, the setting unit 151 setsunified_rps_prediction_control_present_flag as the SPS.

In Step S164, the setting unit 151 determines whether or notunified_rps_prediction_control_present_flag is “1”. In Step S164, in acase where unified_rps_prediction_control_present_flag is determined tobe “1”, in Step S165, the setting unit 151 sets unified_delta_idx_minus1is as SPS, and the process proceeds to Step S166.

In a case where disable_rps_prediction_flag is determined to be “1” inStep S162 or in a case where unified_rps_prediction_control_present_flagis determined to be “0” in Step S164, the process proceeds to Step S166.

In Step S166, the setting unit 151 sets the index i of the RPS to “0”.In Step S167, the setting unit 151 determines whether or notdisable_rps_prediction_flag is “1”. In a case wheredisable_rps_prediction_flag is determined to be “1” in Step S167, inStep S168, the setting unit 151 sets inter_ref_pic_set_prediction_flagto “0”, the process proceeds to Step S170.

On the other hand, in a case where disable_rps_prediction_flag isdetermined not to be “1” in Step S167, in Step S169, the setting unit151 sets inter_ref_pic_set_prediction_flag as the RPS of the index i,the process proceeds to Step S170.

In Step S170, the setting unit 151 determines whether or notinter_ref_pic_set_prediction_flag is “1”. In a case whereinter_ref_pic_set_prediction_flag is determined to be “1” in Step S170,in Step S171, the setting unit 151 determines whether or notunified_rps_prediction_control_present_flag is “1”.

In a case where unified_rps_prediction_control_present_flag isdetermined to be “1” in Step S171, the process proceeds to Step S174. Onthe other hand, in a case whereunified_rps_prediction_control_present_lag is determined not to be “1”in Step S171, in Step S172, the setting unit 151 sets delta_idx_minus1as the RPS of the index i, and the process proceeds to Step S174.

In addition, in a case where inter_ref_pic_set_prediction_flag isdetermined not to be “1” in Step S170, in Step S173, the setting unit151 sets the reference image specifying information as the RPS of theindex i, and the process proceeds to Step S174.

In Step S174, the setting unit 151 increments the index i by one. InStep S175, the setting unit 151 determines whether or not the index i isthe number num_short_term_ref_pic_sets of RPS's included in the SPS ormore.

In a case where the index i is determined not to benum_short_term_ref_pic_sets or more in Step S175, the process isreturned to Step S167, and the process of Steps S167 to S175 is repeateduntil the index i is the number num_short_term_ref_pic_sets or more.

On the other hand, in a case where the index i is determined to benum_short_term_ref_pic_sets or more in Step S175, the RPS settingprocess ends.

As above, since the encoding device 150 setsdisable_rps_prediction_flag, in a case where disable_rps_prediction_flagis “1”, the amount of information of the RPS relating to the referenceimage specifying information can be decreased by an amount correspondingto inter_ref_pic_set_prediction_flag from that of the conventional case.In addition, inter_ref_pic_set_prediction_flag can be set in units ofGOPs.

Furthermore, since the encoding device 150 sets delta_idx_minus1 commonto all the pictures within the GOP as unified_delta_idx_minus1,delta_idx_minus1 can be set in units of GOPs.

(Configuration Example of Decoding Device According to SecondEmbodiment) FIG. 27 is a block diagram that illustrates an example ofthe configuration of a decoding device, to which the present technologyis applied, according to the second embodiment that decodes a codedstream transmitted from the encoding device 150 illustrated in FIG. 20.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 27 that is the same as the configuration illustratedin FIG. 15, and the description thereof to be repeated will be omitted.

The configuration of the decoding device 170 illustrated in FIG. 27 isdifferent from the configuration of the decoding device 110 illustratedin FIG. 15 in that an extraction unit 171 is arranged instead of theextraction unit 112. The decoding device 170 sets the RPS information ofeach RPS based on the SPS illustrated in FIG. 21.

More specifically, the extraction unit 171 of the decoding device 170,similar to the extraction unit 112 illustrated in FIG. 15, extracts anSPS, a PPS, coded data, and the like from a coded stream that issupplied from the reception unit 111. The extraction unit 171, similarto the extraction unit 112, supplies the coded data to the decoding unit113. In addition, the extraction unit 171, based on the SPS illustratedin FIG. 21, acquires the RPS information of each RPS and supplies theacquired RPS information to the decoding unit 113. Furthermore, theextraction unit 171, similar to the extraction unit 112, also suppliesinformation other than the RPS included in the SPS, the PPS, and thelike to the decoding unit 113 as is necessary.

(Description of Process of Decoding Device) The reception processperformed by the decoding device 170 illustrated in FIG. 27 is the sameas the reception process illustrated in FIG. 17 except for the RPSsetting process, and thus, hereinafter, only the RPS setting processwill be described.

FIG. 28 is a flowchart that illustrates the RPS setting processperformed by the decoding device 170 illustrated in FIG. 27 in detail.

In Step S191 illustrated in FIG. 28, the extraction unit 171 acquiresnum_short_term_ref_pic_sets included in the SPS (FIG. 21). In Step S192,the extraction unit 171 acquires disable_rps_prediction_flag that isincluded in the SPS. In Step S193, the extraction unit 171 determineswhether or not the acquired disable_rps_prediction_flag is “1”.

In a case where disable_rps_prediction_flag is determined not to be “1”in Step S193, in Step S194, the extraction unit 171 acquiresunified_rps_prediction_control_present_flag that is included in the SPS.In Step S195, the extraction unit 171 determines whether or not theacquired unified_rps_prediction_control_present_flag is “1”.

In a case where unified_rps_prediction_control_present_flag isdetermined to be “1” in Step S195, the extraction unit 171 acquiresunified_delta_idx_minus1 included in the SPS, and the process proceedsto Step S197.

On the other hand, in a case where unified_delta_idx_minus1 isdetermined not to be “1” in Step S195, the process proceeds to StepS197. In addition, in a case where disable_rps_prediction_flag isdetermined to be “1” in Step S193, the process proceeds to Step S197.

In Step S197, the extraction unit 171 sets the index i of the RPScorresponding to the generated RPS information to “0”. In Step S198, theextraction unit 171 determines whether or not the acquireddisable_rps_prediction_flag acquired in Step S192 is “1”.

In a case where disable_rps_prediction_flag is determined to be “1” inStep S198, in Step S199, the extraction unit 171 setsinter_ref_pic_set_prediction_flag included in the RPS information of theRPS of the index i to “0”, and the process proceeds to Step S201.

On the other hand, in a case where disable_rps_prediction_flag isdetermined not to be “1” in Step S198, in Step S200, the extraction unit171 acquires inter_ref_pic_set_prediction_flag included in the RPS ofthe index i that is included in the SPS. Then, the extraction unit 171sets the acquired inter_ref_pic_set_prediction_flag asinter_ref_pic_set_prediction_flag included in the RPS information of theRPS of the index i, and the process proceeds to Step S201.

In Step S201, the extraction unit 171 determines whether or notinter_ref_pic_set_prediction_flag is “1”. In a case whereinter_ref_pic_set_prediction_flag is determined to be “1” in Step S201,in Step S202, the extraction unit 171 determines whether or notunified_rps_prediction_control_present_flag acquired in Step S194 is“1”.

In a case where unified_rps_prediction_control_present_flag isdetermined to be “1” in Step S202, the process proceeds to Step S203. InStep S203, the extraction unit 171 sets unified_delta_idx_minus1acquired in Step S196 as unified_delta_idx_minus1 included in the RPSinformation of the RPS of the index i, and the process proceeds to StepS206.

On the other hand, in a case whereunified_rps_prediction_control_present_flag is determined not to be “1”in Step S202, in Step S204, the extraction unit 171 acquiresdelta_idx_minus1 included in the RPS of the index i that is included inthe SPS. Then, the extraction unit 171 sets the acquireddelta_idx_minus1 as delta_idx_minus1 included in the RPS information ofthe RPS of the index i, and the process proceeds to Step S206.

On the other hand, in a case where inter_ref_pic_set_prediction_flag isdetermined not to be “1” in Step S201, in Step S205, the extraction unit171 acquires the reference image specifying information included in theRPS of the index i that is included in the SPS. Then, the extractionunit 171 sets the acquired reference image specifying information as thereference image specifying information included in the RPS informationof the RPS of the index i, and the process proceeds to Step S206.

The process of Steps S206 to S208 is similar to the process of StepsS128 to S130 illustrated in FIG. 18, and the description thereof will beomitted.

As above, the decoding device 170 receives disable_rps_prediction_flagand generates the reference image specifying information of the currentdecoding image based on disable_rps_prediction_flag. As a result, in acase where disable_rps_prediction_flag is “1”, the decoding device 170can decode a coded stream in which the amount of information of the RPSis decreased by an amount corresponding tointer_ref_pic_set_prediction_flag.

In addition, the decoding device 170 receives delta_idx_minus1 that iscommon to all the pictures within the GOP as unified_delta_idx_minus1and generates the reference image specifying information of the currentdecoding image based on unified_delta_idx_minus1. As a result, thedecoding device 170 can decode the coded stream in whichdelta_idx_minus1 is set in units of GOPs.

Third Embodiment

(Configuration Example of Encoding Device According to Third Embodiment)

FIG. 29 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to the third embodiment.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 29 that is the same as the configuration illustratedin FIG. 3, and the description thereof to be repeated will be omitted.

The configuration of the encoding device 190 illustrated in FIG. 29 isdifferent from the configuration of the encoding device 10 illustratedin FIG. 3 in that a setting unit 191 is arranged instead of the settingunit 12. The encoding device 190 is acquired by combining the encodingdevice 10 illustrated in FIG. 3 and the encoding device 150 illustratedin FIG. 20.

More specifically, the setting unit 191 of the encoding device 190 setsRPS's including an RPS that does not includeinter_ref_pic_set_prediction_flag but includes the reference imagespecifying information and an RPS includinginter_ref_pic_set_prediction_flag, delta_idx_minus1, the reference imagespecifying information, and the like as is necessary. In addition, thesetting unit 191 assigns an index to each RPS. Here, as the index of theRPS that does not include inter_ref_pic_set_prediction_flag but includesthe reference image specifying information, “0” is assigned.

The setting unit 191 supplies the RPS's to which indexes are assigned tothe encoding unit 11. In addition, the setting unit 191 sets the SPSthat includes an RPS and disable_rps_prediction_flag and includesunified_rps_prediction_control_present_flag and unified_delta_idx_minus1as is necessary. The setting unit 191 sets the PPS and the like.

In addition, the setting unit 191, similar to the setting unit 12illustrated in FIG. 3, generates a coded stream based on the SPS and thePPS, which have been set and coded data supplied from the encoding unit11. The setting unit 191, similar to the setting unit 12, supplies thecoded steam to the transmission unit 13.

(Example of Syntax of SPS)

FIG. 30 is a diagram that illustrates an example of the syntax of theSPS that is set by the setting unit 191 illustrated in FIG. 29.

The configuration illustrated in FIG. 30 is the same as theconfiguration illustrated in FIG. 21, and thus the description thereofwill be omitted.

(Example of Syntax of RPS)

FIG. 31 is a diagram that illustrates an example of the syntax of theRPS.

While not illustrated in the figure, descriptions of the 11th line andsubsequent lines illustrated in FIG. 31 are the same as those of thefifth line and subsequent lines illustrated in FIG. 1.

As illustrated in the second line and the third line illustrated in FIG.31, in a case where the index (idx) is “0” or in a case wheredisable_rps_prediction_flag is “1”, in the RPS,inter_ref_pic_set_prediction_flag is not included but the referenceimage specifying information included in a case whereinter_ref_pic_set_prediction_flag is “0” is included.

The descriptions of the fourth line to the tenth line are the same asthose of the fourth line to the tenth line illustrated in FIG. 22, andthus, the descriptions will be omitted.

(Description of Advantages of Present Technology)

FIG. 32 is a diagram that illustrates the information amount of the RPSthat is set by the setting unit 191 illustrated in FIG. 29.

In the example illustrated in FIG. 32, the reference image specifyinginformation of the second and eighth pictures from the start within theGOP is the same as the reference image specifying information of a priorpicture in coding order.

In this case, as illustrated in FIG. 32, the setting unit 191 sets “0”as disable_rps_prediction_flag and sets “1” asunified_rps_prediction_control_present_flag. In addition, the settingunit 191 sets “0” as unified_delta_idx_minus1.

Furthermore, the setting unit 191, for example, sets the reference imagespecifying information of the first picture of the GOP as the RPS ofwhich the index is “0”. In addition, the setting unit 191 sets “1” asinter_ref_pic_set_prediction_flag as the RPS of which the index is “1”.Thus, the index of the RPS of the first picture of the GOP is set as“0”, and the indexes of the RPS's of the second and eighth pictures areset as “1”.

As above, the setting unit 191 does not setinter_ref_pic_set_prediction_flag as the RPS of which the index is “0”that is used as the RPS of the first picture. Accordingly, the amount ofinformation of the RPS can be decreased by an amount corresponding tointer_ref_pic_set_prediction_flag of the first picture from that of theconventional case illustrated in FIG. 8.

In addition, the setting unit 191 sets delta_idx_minus1 that is commonto all the pictures within the GOP as unified_delta_idx_minus1.Accordingly, delta_idx_minus1 can be set in units of GOPs.

While not illustrated in the figure, the setting unit 191 sets “0” asinter_ref_pic_set_prediction_flag common to all the pictures within theGOP as disable_rps_prediction_flag. Accordingly, in a case wheredisable_rps_prediction_flag is “1”, the amount of information of the RPScan be also decreased by an amount corresponding tointer_ref_pic_set_prediction_flag of a picture other than the firstpicture from that of the conventional case.

(Description of Process of Encoding Device)

A generation process performed by the encoding device 190 illustrated inFIG. 29 is the same as the generation process illustrated in FIG. 10except for the RPS setting process, and thus, hereinafter, only the RPSsetting process will be described.

FIG. 33 is a flowchart that illustrates the RPS setting processperformed by the setting unit 191 of the encoding device 190.

The process of Steps S221 to S226 illustrated in FIG. 33 is similar tothe process of Steps S161 to S166 illustrated in FIG. 26, and thus, thedescription thereof will be omitted.

In Step S227, the setting unit 191 determines whetherdisable_rps_prediction_flag is “1” or the index i is “0”. In a casewhere it is determined that disable_rps_prediction_flag is “1” in StepS227, or the index i is “0”, the process proceeds to Step S228. On theother hand, in a case where it is determined thatdisable_rps_prediction_flag is not “1” in Step S227, and the index i isnot “0”, the process proceeds to Step S229.

The process of Steps S228 to S235 is similar to the process of StepsS168 to S175 illustrated in FIG. 26, and thus, the description thereofwill be omitted.

(Configuration Example of Decoding Device According to Third Embodiment)

FIG. 34 is a block diagram that illustrates an example of theconfiguration of the decoding device, to which the present technology isapplied, according to the third embodiment that decodes a coded streamtransmitted from the encoding device 190 illustrated in FIG. 29.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 34 that is the same as the configuration illustratedin FIG. 15, and the description thereof to be repeated will be omitted.

The configuration of the decoding device 210 illustrated in FIG. 34 isdifferent from the configuration of the decoding device 110 illustratedin FIG. 15 in that an extraction unit 211 is arranged instead of theextraction unit 112. The decoding device 210 sets the RPS information ofeach RPS based on the SPS, which is illustrated in FIG. 30, includingthe RPS illustrated in FIG. 31.

More specifically, the extraction unit 211 of the decoding device 210,similar to the extraction unit 112 illustrated in FIG. 15, extracts anSPS, a PPS, coded data, and the like from a coded stream that issupplied from the reception unit 111. The extraction unit 211, similarto the extraction unit 112, supplies the coded data to the decoding unit113. In addition, the extraction unit 211, based on the SPS, which isillustrated in FIG. 30, including the RPS illustrated in FIG. 31acquires the RPS information of each RPS and supplies the acquired RPSinformation to the decoding unit 113. Furthermore, the extraction unit211, similar to the extraction unit 112, also supplies information otherthan the RPS included in the SPS, the PPS, and the like to the decodingunit 113 as is necessary.

(Description of Process of Decoding Device)

The reception process performed by the decoding device 210 illustratedin FIG. 34 is the same as the reception process illustrated in FIG. 17except for the RPS setting process, and thus, hereinafter, only the RPSsetting process will be described.

FIG. 35 is a flowchart that illustrates the RPS setting processperformed by the decoding device 210 illustrated in FIG. 34 in detail.

The process of Steps S251 to S257 illustrated in FIG. 35 is similar tothe process of Steps S191 to S197 illustrated in FIG. 28, and thus, thedescription thereof will be omitted.

In Step S258, the extraction unit 211 determines whetherdisable_rps_prediction_flag acquired in Step S252 is “1” or the index iis “0”.

In a case where it is determined that disable_rps_prediction_flag is “1”or the index i is “0” in Step S258, the process proceeds to Step S259.On the other hand, in a case where it is determined thatdisable_rps_prediction_flag is not “1” and the index i is not “0” inStep S258, the process proceeds to Step S260.

The process of Steps S259 to S268 is similar to the process of StepsS199 to S208 illustrated in FIG. 28, and thus, the description thereofwill be omitted.

Fourth Embodiment

(Configuration Example of Encoding Device According to FourthEmbodiment)

FIG. 36 is a block diagram that illustrates an example of theconfiguration of an encoding device, to which the present technology isapplied, according to the fourth embodiment.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 36 that is the same as the configuration illustratedin FIG. 3, and the description thereof to be repeated will be omitted.

The configuration of the encoding device 230 illustrated in FIG. 36 isdifferent from the configuration of the encoding device 10 illustratedin FIG. 3 in that an encoding unit 231 is arranged instead of theencoding unit 11, and a setting unit 232 is arranged instead of thesetting unit 12. The encoding device 230, in accordance with the type ofslice within the picture, does not set information relating to areference image that is not necessary for the type of slice.

More specifically, an image that is configured in units of frames isinput to the encoding unit 231 of the encoding device 230 as an inputsignal. The encoding unit 231 codes the input signal in accordance withthe HEVC system by referring to an RPS, a PPS, and the like suppliedfrom the setting unit 232. At this time, as is necessary, the encodingunit 231 performs a weighted prediction (Weighted Prediction) for thereference image in the inter prediction.

Here, the weighted prediction is a process of generating a predictedimage by weighting a reference image. More specifically, for example, ina case where decoded images of two frames Y.sub.1 and Y.sub.0 prior to acurrent coding frame X in coding order are used as reference images, inthe weighted prediction, a predicted image X′ of a frame X is acquiredusing the following Equation (3).

X′=w ₀ ×Y ₀ +w ₀ ×Y ₁ +d  (3)

Here, in Equation (3), w₀ and w₁ are weighting coefficients, and d is anoffset value. These weighting coefficients and the offset value aretransmitted with being included in the coded stream.

By performing the weighted prediction, even in a case where a change inthe luminance occurs between the reference image and the current codingimage due to fade-in, fade-out, cross-fade, or the like, a differencebetween the predicted image and the current coding image can be reduced.As a result, the coding efficiency can be improved.

In contrast, in a case where the weighted prediction is not performed, achange in the luminance that occurs between the reference image and thecurrent coding image due to fade-in, fade-out, cross-fade, and the likedirectly becomes a difference between the predicted image and thecurrent coding image, whereby the coding efficiency is degraded.

The encoding unit 231 supplies coded data acquired as a result of thecoding process to the setting unit 232.

The setting unit 232, similar to the setting unit 12 illustrated in FIG.3, sets the RPS that does not include inter_ref_pic_set_prediction_flagbut include the reference image specifying information and the RPS thatincludes inter_ref_pic_set_prediction_flag and the reference imagespecifying information or delta_idx_minus1. The setting unit 232,similar to the setting unit 12, assigns an index to each RPS.

The setting unit 232 sets the SPS including the RPS, the PPS, and thelike. The setting unit 232 supplies the RPS's to which the indexes areassigned and the PPS to the encoding unit 231. The setting unit 232generates a coded stream based on the SPS and the PPS, which have beenset, and the coded data supplied from the encoding unit 231. The settingunit 232 supplies the coded stream to the transmission unit 13.

(Configuration Example of Encoding Unit)

FIG. 37 is a block diagram that illustrates an example of theconfiguration of the encoding unit 231 illustrated in FIG. 36.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 37 that is the same as the configuration illustratedin FIG. 4, and the description thereof to be repeated will be omitted.

The configuration of the encoding unit 231 illustrated in FIG. 37 isdifferent from the configuration of the encoding unit 11 illustrated inFIG. 4 in that a motion prediction/compensation unit 251 is arrangedinstead of the motion prediction/compensation unit 47, and a losslessencoding unit 252 is arranged instead of the lossless encoding unit 36.

The motion prediction/compensation unit 251, based on the PPS suppliedfrom the setting unit 232 illustrated in FIG. 36, performs a motionprediction/compensation process using a weighted prediction of all theinter prediction modes that are candidates. More specifically, themotion prediction/compensation unit 251 detects motion vectors of allthe inter prediction modes that are candidates based on the imagesupplied from the screen rearrangement buffer 32 and the reference imageread from the frame memory 44 through the switch 45. Then, the motionprediction/compensation unit 251 performs a compensation process for thereference image based on the detected motion vector.

Then, the motion prediction/compensation unit 251 calculates weightinginformation that is configured by a weighting coefficient and an offsetvalue in the weighted prediction. The motion prediction/compensationunit 251 serves as a generation unit and performs the weightedprediction for the reference image after the compensation process basedon the calculated weighting information, thereby generating a predictedimage.

At this time, the motion prediction/compensation unit 251, similar tothe motion prediction/compensation unit 47 illustrated in FIG. 4,calculates cost function values for all the inter prediction modes thatare candidates based on the image supplied from the screen rearrangementbuffer 32 and the predicted images. Then, the motionprediction/compensation unit 251, similar to the motionprediction/compensation unit 47, determines an inter prediction mode ofwhich the cost function mode is the minimal as the optimal interprediction mode.

Then, the motion prediction/compensation unit 251, similar to the motionprediction/compensation unit 47, supplies a predicted imagecorresponding to the cost function value of the optimal inter predictionmode to the predicted image selection unit 48. In addition, in a casewhere the motion prediction/compensation unit 251 is notified of theselection of the predicted image generated in the optimal interprediction mode from the predicted image selection unit 48, the motionprediction/compensation unit 251 outputs the inter prediction modeinformation, the corresponding motion vector, the weighting information,and the like to the lossless encoding unit 252. In addition, the motionprediction/compensation unit 251 outputs the reference image specifyinginformation to the reference image setting unit 49.

The lossless encoding unit 252 generates a slice type that representsthe type of the slice of the current coding image based on the PPSsupplied from the setting unit 232 illustrated in FIG. 36. In addition,the lossless encoding unit 252, similar to the lossless encoding unit 36illustrated in FIG. 4, acquires the intra prediction mode informationfrom the intra prediction unit 46. Furthermore, the lossless encodingunit 252 acquires the inter prediction mode information, the motionvector, the weighting information, and the like from the motionprediction/compensation unit 251. In addition, the lossless encodingunit 252, similar to the lossless encoding unit 36, acquires the indexof the RPS or the RPS and the like from the reference image setting unit49 and acquires quantization parameters from the rate control unit 50.

In addition, the lossless encoding unit 252, similar to the losslessencoding unit 36, acquires a storage flag, an index or an offset, andtype information from the adaptive offset filter 42 as offset filterinformation and acquires a filter coefficient from the adaptive loopfilter 43.

The lossless encoding unit 252, similar to the lossless encoding unit36, performs lossless coding of the quantized coefficient that issupplied from the quantization unit 35. In addition, the losslessencoding unit 252 performs lossless coding of the quantizationparameters, the offset filter information, and the filter coefficientsuch as the slice type, the intra prediction mode information or theinter prediction mode information, the motion vector, the weightinginformation, and the index of the RPS or the RPS as coding information.

The lossless encoding unit 252 adds the coding information that has beencoded in a lossless manner to the coefficient that has been coded in alossless manner as a slice header, thereby generating coded data. Thelossless encoding unit 252 supplies the coded data to the accumulationbuffer 37 so as to be stored therein.

(Example of Syntax of PPS)

FIGS. 38 and 39 are diagrams that illustrate examples of the syntax ofthe PPS that is set by the setting unit 232 illustrated in FIG. 36.FIGS. 40 and 41 are diagrams that illustrate examples of the syntax of aPPS in a conventional HEVC system.

As illustrated in the sixth line in FIG. 38, in the PPS that is set bythe setting unit 232, a unification flag unified_slice_type_flagrepresenting whether or not the types of all the slices within acorresponding picture are identical is included. In addition, asillustrated in the seventh and eighth lines, in a case where theunification flag is “1”, in the PPS, an I flag (all_intra_slice_flag)representing whether or not the types of all the slices within acorresponding picture are I slices is included.

In addition, as illustrated in the ninth and tenth lines, in a casewhere the I flag is not “1”, in other words, in a case where a P sliceor a B slice is included within the picture, in the PPS, a B-not-presentflag no_b_slice_flag representing whether or not a B slice is presentwithin a corresponding picture is included.

As illustrated in the 11th and 12th lines, in a case where the I flag isnot “1”, in the PPS, an RPSL0 numbernum_ref_idx_10_default_active_minus1 that is a maximal number of theRPS's in a forward prediction (L0 prediction) using a reference image ofwhich the display time is earlier than that of a corresponding pictureis included as information relating to a reference image.

As illustrated in the 13th and 14th lines, in a case where theB-not-present flag is “0”, in other words, in a case where a B slice isincluded within the picture, in the PPS, an RPSL1 number(num_ref_idx_11_default_active_minus1) that is a maximal number of theRPS's in a backward prediction (L1 prediction) using a reference imageof which the display time is later than that of a corresponding pictureis included as the information relating to a reference image.

As illustrated in the 25th and 26th lines, in a case where the I flag isnot “1”, in the PPS, a P prediction flag weighted_pred_flag representingwhether or not a weighted prediction is performed for the P slice isincluded as the information relating to a reference image. In addition,in a case where the B-not-present flag is not “1”, in the PPS, a Bprediction flag weighted_bipred_flag representing whether or not aweighted prediction is performed for the B slice is included as theinformation relating to a reference image.

As above, in the PPS illustrated in FIGS. 38 and 39, in a case where acorresponding picture is configured by only an I slice, the RPSL0number, the RPSL1 number, the P prediction flag, and the B predictionflag are not set. In addition, in a case where a corresponding pictureincludes a slice other than the I slice, the RPSL1 number and the Bprediction flag are not set. Accordingly, the coding efficiency can beimproved compared to a case where the RPSL0 number, the RPSL1 number,the P prediction flag, and the B prediction flag are set for all thepictures regardless of the types of the slices within the pictures.

In addition, in the decoding device, in a case where the picture isconfigured by only an I slice, the RPSL0 number and the RPSL1 number arerecognized to be “0”, and, in a case where the picture includes a sliceother than the I slice, the RPSL1 number is recognized to be “0”.

In contrast, in the PPS of the conventional HEVC system illustrated inFIGS. 40 and 41, as illustrated in the sixth, seventh, 17th, and 18thlines in FIG. 40, the RPSL0 number, the RPSL1 number, the P predictionflag, and the B prediction flag are set regardless of the type of theslice within the picture.

In addition, in a case where the picture is configured by only a Bslice, the P prediction flag may be configured not to be set.

(Example of Syntax of Slice Header)

FIGS. 42 to 44 are diagrams that illustrate examples of the syntax ofthe slice header that is added by the lossless encoding unit 252illustrated in FIG. 37. In addition, FIGS. 45 to 47 are diagrams thatillustrate examples of the syntax of the slice header in theconventional HEVC system.

As illustrated in the second line in FIG. 42, in the slice header addedto the lossless encoding unit 252, a first flag first_slice_in_pic_flagrepresenting whether a corresponding slice is the first flag within thepicture is included. In addition, as illustrated in the 11th and 12thlines, in a case where the unification flag is “0” or in a case wherethe unification flag is “1” and the first flag is “0”, in the sliceheader, the slice type slice_type of a corresponding slice is included.

In other words, in the slice header illustrated in FIGS. 42 to 44, in acase where the types of slices within the picture are not the same or ina case where the types of slices within the picture are the same and acorresponding slice is the first slice within the picture, the slicetype is set.

However, in the slice header illustrated in FIGS. 42 to 44, in a casewhere the types of the slices within the picture are the same, and acorresponding slice is a slice other than the first slice within thepicture, the slice type is not set. In such a case, the slice typeincluded in the slice header is regarded as the slice type of a sliceother than the first slice.

Accordingly, the coding efficiency can be improved compared to a casewhere the slice types of all the slices are set regardless whether ornot the slice types of all the slices within the picture are the same.

In contrast, in a slice header of the conventional HEVC systemillustrated in FIGS. 45 to 47, as illustrated in the 11th line in FIG.45, the slice types of all the slices are set regardless whether or notthe slice types of all the slices within the picture are the same.

(Description of Process of Encoding Device)

FIG. 48 is a flowchart that illustrates a generation process performedby the encoding device 230 illustrated in FIG. 36.

In Step S281 illustrated in FIG. 48, the setting unit 232 of theencoding device 230 performs the RPS setting process illustrated in FIG.11. In Step S282, the encoding unit 231 performs a coding process forcoding an image, which is configured in units of frames, input from theoutside as an input signal in accordance with the HEVC system. Thiscoding process will be described later in detail with reference to FIGS.49 and 50 to be described later.

In Step S283, the setting unit 232 sets the SPS that includes the RPS towhich the index is assigned. In Step S284, the setting unit 232 performsa PPS setting process for setting the PPS. This PPS setting process willbe described later in detail with reference to FIG. 51 to be describedlater.

The process of Steps S285 and S286 is similar to the process of StepsS15 and S16 illustrated in FIG. 10, and thus, the description thereofwill be omitted.

FIGS. 49 and 50 represent a flowchart that illustrates the codingprocess of Step S282 illustrated in FIG. 48 in detail.

The process of Steps S301 and S302 illustrated in FIG. 49 is similar tothe process of Steps S31 and S32 illustrated in FIG. 12, and thus, thedescription thereof will be omitted.

In Step S303, the motion prediction/compensation unit 251 determineswhether to perform a weighted prediction based on the P prediction flagor the B prediction flag included in the PPS that is supplied from thesetting unit 232 illustrated in FIG. 36.

More specifically, in a case where the current coding image is the Pslice, when the P prediction flag is “1”, the motionprediction/compensation unit 251 determines to perform the weightedprediction. In addition, in a case where the current coding image is theB slice, when the B prediction flag is “1”, the motionprediction/compensation unit 251 determines to perform the weightedprediction. Furthermore, in a case where the current coding image is theI slice, the process of Step S303 is skipped, and the process proceedsto Step S304.

In a case where the weighted prediction is determined to be performed inStep S303, in Step S304, the intra prediction unit 46 performs an intraprediction process of all the intra prediction modes that arecandidates. In addition, the intra prediction unit 46 calculates costfunction values for all the intra prediction modes that are candidatesbased on the image read from the screen rearrangement buffer 32 and thepredicted image generated as a result of the intra prediction process.Then, the intra prediction unit 46 determines an intra prediction modeof which the cost function value is the minimal as an optimal intraprediction mode. The intra prediction unit 46 supplies the predictedimage generated in the optimal intra prediction mode and a correspondingcost function value to the predicted image selection unit 48.

In addition, the motion prediction/compensation unit 251 performs amotion prediction/compensation process using weighted predictions of allthe inter prediction modes that are candidates. In addition, the motionprediction/compensation unit 251 calculates cost function values for allthe inter prediction modes that are the candidates based on the imagesupplied from the screen rearrangement buffer 32 and the predictedimages and determines an inter prediction mode of which the costfunction value is the minimal as an optimal inter prediction mode. Then,the motion prediction/compensation unit 251 supplies the cost functionvalue of the optimal inter prediction mode and a corresponding predictedimage to the predicted image selection unit 48.

However, in a case where the current coding image is the I slice, themotion prediction/compensation process is not performed. After theprocess of Step S304, the process proceeds to Step S306.

On the other hand, in a case where a weighted prediction is determinednot to be performed in Step S303, in Step S305, the intra predictionunit 46 performs the same process as that of Step S304.

In addition, the motion prediction/compensation unit 251 performs amotion prediction/compensation process for all the inter predictionmodes that are the candidates. Furthermore, the motionprediction/compensation unit 251 calculates cost function values for allthe inter prediction modes that are the candidates based on the imagesupplied from the screen rearrangement buffer 32 and the predictedimages and determines an inter prediction mode of which the costfunction value is the minimal as an optimal inter prediction mode. Then,the motion prediction/compensation unit 251 supplies the cost functionvalue of the optimal inter prediction mode and a corresponding predictedimage to the predicted image selection unit 48. Then, the processproceeds to Step S306.

The process of Steps S306 to S308 is similar to the process of Steps S34to S36 illustrated in FIG. 12, and thus, the description thereof will beomitted.

After the process of Step S308, in Step S309, the motionprediction/compensation unit 251 determines whether or not a weightedprediction has been performed in the motion prediction/compensationprocess. In a case where it is determined that the weighted predictionhas been performed in the motion prediction/compensation process in StepS309, in Step S310, the motion prediction/compensation unit 251 suppliesthe weighting information of the weighted prediction to the losslessencoding unit 252. Then, the process proceeds to Step S311.

The process of Steps S311 to S322 is similar to the process of Steps S37to S48 illustrated in FIGS. 12 and 13, and thus, the description thereofwill be omitted.

In Step S323 illustrated in FIG. 50, the lossless encoding unit 252determines whether the unification flag included in the PPS suppliedfrom the setting unit 232 illustrated in FIG. 36 is “0” or whether ornot the unification flag and the first flag are “1”.

In a case where it is determined that the unification flag is “0” or theunification flag and the first flag are “1” in Step S323, in Step S324,the lossless encoding unit 252 generates a slice type of the currentcoding image. Then, the process proceeds to Step S325.

On the other hand, in a case where it is determined that the unificationflag is not “0” and the unification flag and the first flag are not “1”in Step S323, the process proceeds to Step S325.

In Step S325, the lossless encoding unit 252 performs lossless coding ofthe quantization parameters supplied from the rate control unit 50, theoffset filter information, and the filter coefficient such as the slicetype, the intra prediction mode information or the inter prediction modeinformation, the motion vector, the weighting information, and the indexof the RPS or the RPS as coding information.

The process of Steps S326 to S329 is similar to the process of Steps S50to S53 illustrated in FIG. 13, and thus, the description thereof will beomitted.

FIG. 51 is a flowchart that illustrates the PPS setting process of StepS284 illustrated in FIG. 48 in detail. This PPS setting process isperformed in units of pictures.

In Step S331 illustrated in FIG. 51, the setting unit 232 determineswhether or not the types of all the slices within the picture are thesame. In a case where it is determined that the types of all the sliceswithin the picture are the same in Step S331, in Step S332, the settingunit 232 sets the unification flag to “1” and includes the setunification flag in the PPS.

In Step S333, the setting unit 232 determines whether or not the typesof all the slices within the picture are the I slices. In a case whereit is determined that the types of all the slices within the picture arethe I slices in Step S333, in Step S334, the setting unit 232 sets the Iflag to “1” and includes the set I flag in the PPS, and the processproceeds to Step S337.

On the other hand, in a case where it is determined that the types ofall the slices within the picture are not the I slices in Step S333, inStep S335, the setting unit 232 sets the I flag to “0” and includes theset I flag in the PPS, and the process proceeds to Step S337.

On the other hand, in a case where it is determined that the types ofall the slices within the picture are not the same in Step S331, in StepS336, the setting unit 232 sets the I flag to “0” and includes the set Iflag in the PPS, and the process proceeds to Step S337.

In Step S337, the setting unit 232 determines whether or not the I flagis “1”. In a case where it is determined that the I flag is not “1” inStep S337, in Step S338, the setting unit 232 sets the RPSL0 number andthe P prediction flag included in the PPS and includes the RPSL0 numberand the P prediction flag that have been set in the PPS.

In Step S339, the setting unit 232 determines whether or not a B sliceis included within the picture. In a case where it is determined thatthe B slice is included within the picture in Step S339, in Step S340,the setting unit 232 sets the B-not-present flag included in the PPS to“0” and includes the set flag in the PPS.

In Step S341, the setting unit 232 sets the RPSL1 number and the Bprediction flag included in the PPS and includes the RPSL1 number andthe B prediction flag that have been set in the PPS. Then, the processis returned to Step S284 illustrated in FIG. 48 and proceeds to StepS285.

On the other hand, in a case where it is determined that the B slice isnot included within the picture in Step S339, in Step S342, the settingunit 232 sets the B-not-present flag to “1” and includes the set flag inthe PPS. Then, the process is returned to Step S284 illustrated in FIG.48 and proceeds to Step S285.

In addition, in a case where it is determined that the I flag is “1” inStep S337, the process is returned to Step S284 illustrated in FIG. 48and proceeds to Step S285.

As above, since the encoding device 230 sets the information relating toa reference image in accordance with the types of slices within thepicture, the amount of information relating to a reference image isreduced, and accordingly, the coding efficiency can be improved. Inaddition, since the encoding device 230 sets the slice type depending onwhether the types of all the slices within the picture are the same, theamount of information of the slice type is reduced, and accordingly, thecoding efficiency can be improved.

(Configuration Example of Decoding Device According to FourthEmbodiment)

FIG. 52 is a block diagram that illustrates an example of theconfiguration of the decoding device, to which the present technology isapplied, according to the fourth embodiment that decodes a coded streamtransmitted from the encoding device 230 illustrated in FIG. 36.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 52 that is the same as the configuration illustratedin FIG. 15, and the description thereof to be repeated will be omitted.

The configuration of the decoding device 270 illustrated in FIG. 52 isdifferent from the configuration illustrated in FIG. 15 in that adecoding unit 271 is arranged instead of the decoding unit 113. Thedecoding device 270 performs a weighted prediction when a motioncompensation process is performed as is necessary.

More specifically, the decoding unit 271 of the decoding device 270decodes the coded data supplied from the extraction unit 112 inaccordance with the HEVC system based oninter_ref_pic_set_prediction_flag of each RPS and delta_idx_minus1 orthe reference image specifying information supplied from the extractionunit 112. At this time, the decoding unit 271 refers to informationother than the RPS that is included in the SPS, the PPS, and the like asis necessary. In addition, the decoding unit 271, as is necessary,performs a weighted prediction when the motion compensation process isperformed. The decoding unit 271 outputs an image acquired as a resultof the decoding as an output signal.

(Configuration Example of Decoding Unit)

FIG. 53 is a block diagram that illustrates an example of theconfiguration of the decoding unit 271 illustrated in FIG. 52.

Here, the same reference numeral is assigned to each configurationillustrated in FIG. 53 that is the same as the configuration illustratedin FIG. 16, and the description thereof to be repeated will be omitted.

The configuration of the decoding unit 271 illustrated in FIG. 53 isdifferent from the configuration illustrated in FIG. 16 in that alossless decoding unit 291 is arranged instead of the lossless decodingunit 132, and a motion compensation unit 292 is arranged instead of themotion compensation unit 145.

The lossless decoding unit 291 of the decoding unit 271, similar to thelossless decoding unit 132 illustrated in FIG. 16, performs losslessdecoding for the coded data supplied from the accumulation buffer 131,thereby acquiring the quantized coefficients and the coding information.The lossless decoding unit 291, similar to the lossless decoding unit132, supplies the quantized coefficients to the inverse quantizationunit 133. In addition, the lossless decoding unit 291 supplies the intraprediction mode information and the like as the coding information tothe intra prediction unit 143 and supplies the motion vector, the interprediction mode information, the weighting information, and the like tothe motion compensation unit 292. The lossless decoding unit 291,similar to the lossless decoding unit 132, supplies the RPS flag and theindex of the RPS or the RPS as the coding information to the referenceimage setting unit 144.

In addition, the lossless decoding unit 291, similar to the losslessdecoding unit 132, supplies the intra prediction mode information or theinter prediction mode information as the coding information to theswitch 146. The lossless decoding unit 291, similar to the losslessdecoding unit 132, supplies the offset filter information as the codinginformation to the adaptive offset filter 137 and supplies the filtercoefficient to the adaptive loop filter 138.

The motion compensation unit 292, similar to the motion compensationunit 145 illustrated in FIG. 16, reads a reference image specified bythe reference image specifying information from the frame memory 141through the switch 142 based on the reference image specifyinginformation supplied from the reference image setting unit 144.

In addition, the motion compensation unit 292, similar to the motionprediction/compensation unit 251 illustrated in FIG. 37, determineswhether to perform a weighted prediction based on the P prediction flagor the B prediction flag that is included in the PPS that is suppliedfrom the extraction unit 112.

The motion compensation unit 292 serves as a generation unit and, in acase where it is determined to perform the weighted prediction, performsa motion compensation process using the weighted prediction of theoptimal inter prediction mode represented by the inter prediction modeinformation by using the motion vector and the reference image. At thistime, the motion compensation unit 292, as is necessary, in a case wherethe slice of the current coding image is the P slice, refers to theRPSL0 number and, in a case where the slice of the current coding imageis the B slice, refers to the RPSL0 number and the RPSL1 number.

On the other hand, in a case where the weighted prediction is determinednot to be performed, the motion compensation unit 292, similar to themotion compensation unit 145, performs a motion compensation process ofthe optimal inter prediction mode. The motion compensation unit 292supplies a predicted image generated as a result thereof to the switch146.

(Description of Process of Decoding Device)

FIG. 54 is a flowchart that illustrates a reception process performed bythe decoding device 270 illustrated in FIG. 52.

The process of Steps S351 to S353 illustrated in FIG. 54 is similar tothe process of Steps S111 to S113 illustrated in FIG. 17, and thus, thedescription thereof will be omitted.

In Step S354, the decoding unit 271 performs a decoding process based onthe RPS information of each RPS and the PPS that are supplied from theextraction unit 112. This decoding process will be described in detailwith reference to FIG. 55 to be described later. Then, the process ends.

FIG. 55 is a flowchart that illustrates the decoding process of StepS354 illustrated in FIG. 54 in detail.

In Step S361 illustrated in FIG. 55, the accumulation buffer 131 of thedecoding unit 271 receives coded data, which is configured in units offrames” from the extraction unit 112 illustrated in FIG. 52 and storesthe received coded data. The accumulation buffer 131 supplies the storedcoded data to the lossless decoding unit 291.

In Step S362, the lossless decoding unit 291 performs lossless decodingof the coded data supplied from the accumulation buffer 131, therebyacquiring the quantized coefficient and the coding information. Thelossless decoding unit 291 supplies the quantized coefficient to theinverse quantization unit 133. In addition, the lossless decoding unit291 supplies the intra prediction mode information and the like as thecoding information to the intra prediction unit 143 and supplies themotion vector, the inter prediction mode information, the weightinginformation, the RPS flag, the index of the RPS or the RPS, and the liketo the motion compensation unit 292.

In addition, the lossless decoding unit 291 supplies the intraprediction mode information as the coding information or the interprediction mode information to the switch 146. The lossless decodingunit 291 supplies the offset filter information as the codinginformation to the adaptive offset filter 137 and supplies the filtercoefficient to the adaptive loop filter 138.

The process of Steps S363 to S365 is similar to the process of StepsS133 to S135 illustrated in FIG. 19, and thus, the description thereofwill be omitted. In Step S366, the motion compensation unit 292, similarto the motion prediction/compensation unit 251 illustrated in FIG. 37,determines whether to perform a weighted prediction based on the Pprediction flag or the B prediction flag included in the PPS that issupplied from the extraction unit 112 illustrated in FIG. 52.

In a case where the weighted prediction is determined to be performed inStep S366, in Step S367, the motion compensation unit 292 reads areference image based on the reference image specifying informationsupplied from the reference image setting unit 144 and performs a motioncompensation process using the weighted prediction of the optimal interprediction mode represented by the inter prediction mode information byusing the motion vector and the reference image.

At this time, the motion compensation unit 292, as is necessary, in acase where the slice of the current coding image is the P slice, refersto the RPSL0 number and, in a case where the slice of the current codingimage is the B slice, refers to the RPSL0 number and the RPSL1 number.The motion compensation unit 292 supplies a predicted image generated asa result thereof to the addition unit 135 through the switch 146, andthe process proceeds to Step S370.

On the other hand, in a case where the weighted prediction is determinednot to be performed in Step S366, in Step S368, the motion compensationunit 292 reads a reference image based on the reference image specifyinginformation supplied from the reference image setting unit 144 andperforms a motion compensation process of the optimal inter predictionmode represented by the inter prediction mode information by using themotion vector and the reference image. The motion compensation unit 292supplies a predicted image generated as a result thereof to the additionunit 135 through the switch 146, and the process proceeds to Step S370.

The process of Steps S369 to S377 is similar to the process of StepsS137 to S145 illustrated in FIG. 19, and thus, the description thereofwill be omitted.

As above, by setting the information relating to a reference image inaccordance with the types of slices within the picture, the decodingdevice 270 can decode a coded stream having improved coding efficiency.

In addition, in the fourth embodiment, while the information relating toa reference image has been described as the RPSL0 number, the RPSL1number, the P prediction flag, and the B prediction flag, the presenttechnology is not limited thereto.

<Application to Multiple Viewpoint Image Coding/Multiple Viewpoint ImageDecoding>

The series of processes described above may be applied to multipleviewpoint image coding and multiple viewpoint image decoding. FIG. 56 isa diagram that illustrates an example of a multiple viewpoint imagecoding system.

As illustrated in FIG. 56, a multiple viewpoint image includes images ofa plurality of viewpoints, and an image of a predetermined viewpoint outof the plurality of viewpoints is designated as an image of a base view.The image of each viewpoint other than the image of the base view ishandled as an image of a non-base view.

In a case where multiple viewpoint image coding as illustrated in FIG.56 is performed, for each view (the same view), a difference between thequantization parameters may be taken.

(1) base-view:(1-1) dQP(base view)=Current_CU_QP(base view)−LCU_QP(base view)(1-2) dQP(base view)=Current_CU_QP(base view)−Previsous_CU_QP(base view)(1-3) dQP(base view)=Current_CU_QP(base view)−Slice_QP(base view)(2) non-base-view:(2-1) dQP(non-base view)=Current_CU_QP(non-base view)−LCU_QP(non-baseview)(2-2) dQP(non-base view)=CurrentQP(non-base view)−PrevisousQP(non-baseview)(2-3) dQP(non-base view)=Current_CU_QP(non-base view)−Slice_QP(non-baseview)

In a case where the multiple viewpoint image coding is performed, foreach view (different views), a difference between the quantizationparameters may be taken.

(3) base-view/non-base view:(3-1) dQP(inter-view)=Slice_QP(base view)−Slice_QP(non-base view)(3-2) dQP(inter-view)=LCU_QP(base view)−LCU_QP(non-base view)(4) non-base view/non-base view:(4-1) dQP(inter-view)=Slice_QP(non-base view i)−Slice_QP(non-base viewj)(4-2) dQP(inter-view)=LCU_QP(non-base view i)−LCU_QP(non-base view j)

In such a case, (1) to (4) described above may be used in acombinational manner. For example, in a non-base view, a technique(combining 3-1 and 2-3) for taking a difference between the quantizationparameters of the base view and the non-base view at a slice level and atechnique (combining 3-2 and 2-1) for taking a difference between thequantization parameters of the base view and the non-base view at theLCU level may be considered. In this way, by repeatedly applying thedifference, also in a case where the multiple viewpoint coding isperformed, the coding efficiency can be improved.

Similar to the above-described technique, for each dQP described above,a flag used for identifying whether or not a dQP having a value otherthan “0” is present may be set.

<Multiple Viewpoint Image Encoding Device>

FIG. 57 is a diagram that illustrates a multiple viewpoint imageencoding device that performs the multiple viewpoint image codingdescribed above. As illustrated in FIG. 57, the multiple viewpoint imageencoding device 600 includes an encoding unit 601, an encoding unit 602,and a multiplexer 603.

The encoding unit 601 codes a base view image, thereby generating a baseview image coded stream. In addition, the encoding unit 602 codes anon-base view image, thereby generating a non-base view image codedstream. The multiplexer 603 multiplexes the base view image coded streamgenerated by the encoding unit 601 and the non-base view image codedstream generated by the encoding unit 602, thereby generating a multipleview point image coded stream.

The encoding device 10 (150 and 190) may be applied to the encoding unit601 and the encoding unit 602 of this multiple viewpoint image encodingdevice 600. In such a case, the multiple viewpoint image encoding device600 sets a difference between the quantization parameter set by theencoding unit 601 and the quantization parameter set by the encodingunit 602 and transmits the set difference.

<Multiple Viewpoint Image Decoding Device>

FIG. 58 is a diagram that illustrates a multiple viewpoint imagedecoding device that performs the multiple viewpoint image decodingdescribed above. As illustrated in FIG. 58, the multiple viewpoint imagedecoding device 610 includes a demultiplexer 611, a decoding unit 612,and a decoding unit 613.

The demultiplexer 611 demultiplexes a multiple viewpoint image codedstream acquired by multiplexing the base view image coded stream and thenon-base view image coded stream, thereby extracting a base view imagecoded stream and a non-base view image coded stream. The decoding unit612 decodes the base view image coded stream extracted by thedemultiplexer 611, thereby acquiring the base view image. The decodingunit 613 decodes the non-base view image coded stream extracted by thedemultiplexer 611, thereby acquiring the non-base view image.

The decoding device 110 (170 and 210) may be applied to the decodingunit 612 and the decoding unit 613 of this multiple view point imagedecoding device 610. In such a case, the multiple viewpoint imagedecoding device 610 sets a quantization parameter based on a differencebetween the quantization parameter set by the encoding unit 601 and thequantization parameter set by the encoding unit 602 and performs inversequantization.

3<Application to Hierarchical Image Coding/Hierarchical Image Decoding>

The series of processes described above may be applied to hierarchicalimage coding and hierarchical image decoding. FIG. 59 is a diagram thatillustrates an example of a hierarchical image coding system.

As illustrated in FIG. 59, a hierarchical image includes images of aplurality of hierarchies (resolutions), and an image of a predeterminedhierarchy out of the plurality of resolutions is designated as an imageof a base layer. Images of hierarchies other than the image of the baselayer are handled as images of non-base layers.

In a case where the hierarchical image coding (spatial scalability) asillustrated in FIG. 59 is performed, in each layer (the same layer), adifference between quantization parameters may be taken.

(1) base-layer:(1-1) dQP(base layer)=Current_CU_QP(base layer)−LCU_QP(base layer)(1-2) dQP(base layer)=Current_CU_QP(base layer)−Previsous_CU_QP(baselayer)(1-3) dQP(base layer)=Current_CU_QP(base layer)−Slice_QP(base layer)(2) non-base-layer:(2-1) dQP(non-base layer)=Current_CU_QP(non-base layer)−LCU_QP(non-baselayer)(2-2) dQP(non-base layer)=CurrentQP(non-base layer)−PrevisousQP(non-baselayer)(2-3) dQP(non-base layer)=Current_CU_QP(non-baselayer)−Slice_QP(non-base layer)

In a case where the hierarchical coding is performed, in each layer(different layers), a difference between quantization parameters may betaken.

(3) base-layer/non-base layer:(3-1) dQP(inter-layer)=Slice_QP(base layer)−Slice_QP(non-base layer)(3-2) dQP(inter-layer)=LCU_QP(base layer)−LCU_QP(non-base layer)(4) non-base layer/non-base layer:(4-1) dQP(inter-layer)=Slice_QP(non-base layer i)−Slice_QP(non-baselayer j)(4-2) dQP(inter-layer)=LCU_QP(non-base layer i)−LCU_QP(non-base layer j)

In such a case, (1) to (4) described above may be used in acombinational manner. For example, in a non-base layer, a technique(combining 3-1 and 2-3) for taking a difference between the quantizationparameters of the base layer and the non-base layer at the slice leveland a technique (combining 3-2 and 2-1) for taking a difference betweenthe quantization parameters of the base layer and the non-base layer atthe LCU level may be considered. In this way, by repeatedly applying thedifference, also in a case where the hierarchical coding is performed,the coding efficiency can be improved.

Similar to the above-described technique, for each dQP described above,a flag used for identifying whether or not a dQP having a value otherthan “0” is present may be set.

<Hierarchical Image Encoding Device>

FIG. 60 is a diagram that illustrates a hierarchical image encodingdevice that performs the hierarchical image coding described above. Asillustrated in FIG. 60, the hierarchical image encoding device 620includes an encoding unit 621, an encoding unit 622, and a multiplexer623.

The encoding unit 621 codes a base layer image, thereby generating abase layer image coded stream. In addition, the encoding unit 622 codesa non-base layer image, thereby generating a non-base layer image codedstream. The multiplexer 623 multiplexes the base layer image codedstream generated by the encoding unit 621 and the non-base layer imagecoded stream generated by the encoding unit 622, thereby generating ahierarchical image coded stream.

The encoding device 10 (150 and 190) may be applied to the encoding unit621 and the encoding unit 622 of this hierarchical image encoding device620. In such a case, the hierarchical image encoding device 620 sets adifference between the quantization parameter set by the encoding unit621 and the quantization parameter set by the encoding unit 622 andtransmits the set difference.

<Hierarchical Image Decoding Device>

FIG. 61 is a diagram that illustrates a hierarchical image decodingdevice that performs the hierarchical image decoding described above. Asillustrated in FIG. 61, the hierarchical image decoding device 630includes a demultiplexer 631, a decoding unit 632, and a decoding unit633.

The demultiplexer 631 demultiplexes a hierarchical image coded streamacquired by multiplexing the base layer image coded stream and thenon-base layer image coded stream, thereby extracting a base layer imagecoded stream and a non-base layer image coded stream. The decoding unit632 decodes the base layer image coded stream extracted by thedemultiplexer 631, thereby acquiring the base layer image. The decodingunit 633 decodes the non-base layer image coded stream extracted by thedemultiplexer 631, thereby acquiring the non-base layer image.

The decoding device 110 (170 and 210) may be applied to the decodingunit 632 and the decoding unit 633 of this hierarchical image decodingdevice 630. In such a case, the hierarchical image decoding device 630sets a quantization parameter based on a difference between thequantization parameter set by the encoding unit 621 and the quantizationparameter set by the encoding unit 622 and performs inversequantization.

<Description of Computer to which Present Technology is Applied>

The series of processes described above may be performed by hardware orsoftware. In a case where the series of processes is performed bysoftware, a program that configures the software is installed to acomputer. Here, the computer includes a computer that is built intodedicated hardware, a computer that can execute various functions byhaving various programs installed thereto such as a general-purposecomputer, and the like.

FIG. 62 is a block diagram that illustrates an example of the hardwareconfiguration of the computer that executes the series of processesdescribed above in accordance with a program.

In the computer, a CPU (Central Processing Unit) 801, a ROM (Read OnlyMemory) 802, and a RAM (Random Access Memory) 803 are interconnectedthrough a bus 804.

In addition, an input/output interface 805 is connected to the bus 804.To the input/output interface 805, an input unit 806, an output unit807, a storage unit 808, a communication unit 809, and a drive 810 areconnected.

The input unit 806 is configured by a keyboard, a mouse, a microphone,and the like. The output unit 807 is configured by a display, a speaker,and the like. The storage unit 808 is configured by a hard disk, anon-volatile memory, or the like. The communication unit 809 isconfigured by a network interface or the like. The drive 810 drives aremovable medium 811 such as a magnetic disk, an optical disc, amagneto-optical disk, or a semiconductor disk.

In the computer configured as described above, the CPU 801 performs theseries of processes described above, for example, by loading a programstored in the storage unit 808 into the RAM 803 through the input/outputinterface 805 and the bus 804 and executing the program.

The program executed by the computer (CPU 801), for example, may beprovided by being recorded on the removable medium 811 as a packagemedium. In addition, the program may be provided through a wired orwireless transmission medium such as a local area network, the Internet,or digital satellite broadcasting.

In the computer, the program can be installed to the storage unit 808through the input/output interface 805 by loading the removable medium811 into the drive 810. In addition, the program may be received by thecommunication unit 809 through a wired or wireless transmission mediumand be installed to the storage unit 808. Furthermore, the program maybe installed in advance to the ROM 802 or the storage unit 808.

In addition, the program executed by the computer may be a program thatperforms the process in a time series in the sequence described here ormay be a program that performs the process in a parallel manner or atnecessary timing such as timing when the program is called.

<Configuration Example of Television Apparatus>

FIG. 63 illustrates the schematic configuration of a televisionapparatus to which the present technology is applied. The televisionapparatus 900 includes: an antenna 901; a tuner 902; a demultiplexer903; a decoder 904; a video signal processing unit 905; a display unit906; an audio signal processing unit 907; a speaker 908; and an externalinterface unit 909. In addition, the television apparatus 900 includes acontrol unit 910, a user interface unit 911, and the like.

The tuner 902 selects a desired channel from broadcast wave signalsreceived by the antenna 901, performs demodulation, and outputs anacquired coded bitstream to the demultiplexer 903.

The demultiplexer 903 extracts a packet of a video or an audio of aprogram that is a viewing target from the coded bitstream and outputsdata of the extracted packet to the decoder 904. In addition, thedemultiplexer 903 supplies a packet of data such as an EPG (ElectronicProgram Guide) or the like to the control unit 910. Furthermore, in acase where scrambling is performed, the scrambling is released using ademultiplexer or the like.

The decoder 904 performs a decoding process of a packet and outputsvideo data generated by the decoding process to the video signalprocessing unit 905 and outputs audio data to the audio signalprocessing unit 907.

The video signal processing unit 905 performs noise removal, videoprocessing according to a user setting, and the like for the video data.The video signal processing unit 905 generates video data of a programthat is to be displayed on the display unit 906, image data according toa process that is based on an application supplied through a network,and the like. In addition, the video signal processing unit 905generates video data for displaying a menu screen such as an itemselection screen and the like and overlaps the generated video data onthe video data of the program. The video signal processing unit 905generates a drive signal based on the video data generated as above anddrives the display unit 906.

The display unit 906 drives a display device (for example, a liquidcrystal display device or the like) based on the drive signal suppliedfrom the video signal processing unit 905, thereby displaying a video ofa program and the like.

The audio signal processing unit 907 performs a predetermined processsuch as noise removal for the audio data, performs a D/A conversionprocess of audio data after the process or an amplification processthereof, and supplies resultant data to the speaker 908, therebyperforming audio output.

The external interface unit 909 is an interface used for a connection toan external device or a network and transmits/receives data such asvideo data or audio data.

The user interface unit 911 is connected to the control unit 910. Theuser interface unit 911 is configured by an operation switch, a remotecontrol signal reception unit, and the like and supplies an operationsignal according to a user operation to the control unit 910.

The control unit 910 is configured by a CPU (Central Processing Unit), amemory, and the like. The memory stores a program executed by the CPU,various kinds of data that is necessary for the process performed by theCPU, EPG data, data acquired through a network, and the like. Theprogram that is stored in the memory is read and executed by the CPU atpredetermined timing such as start-up of the television apparatus 900.By executing the program, the CPU performs control of each unit suchthat the television apparatus 900 operates in accordance with a useroperation.

In addition, in the television apparatus 900, in order to connect thetuner 902, the demultiplexer 903, the video signal processing unit 905,the audio signal processing unit 907, the external interface unit 909,and the like to the control unit 910, a bus 912 is disposed.

In the television apparatus configured in this way, the function of thedecoding device (decoding method) according to the present applicationis implemented in the decoder 904. Accordingly, a coded stream in whichthe amount of information relating to the information specifying areference image is reduced can be decoded.

<Configuration Example of Mobile Phone>

FIG. 64 illustrates the schematic configuration of a mobile phone towhich the present technology is applied. The mobile phone 920 includes:a communication unit 922; an audio codec 923; a camera unit 926; animage processing unit 927; a multiplexing/separating unit 928; arecording/reproducing unit 929; a display unit 930; and a control unit931. These are interconnected through the bus 933.

In addition, the antenna 921 is connected to the communication unit 922,and the speaker 924 and the microphone 925 are connected to the audiocodec 923. Furthermore, the operation unit 932 is connected to thecontrol unit 931.

The mobile phone 920 performs various operations such as transmissionand reception of an audio signal, transmission and reception of anelectronic mail and image data, image capturing, and data recording invarious modes such as a voice call mode and a data communication mode.

In the voice call mode, an audio signal generated by the microphone 925is converted into audio data or compressed by the audio codec 923, and aresultant signal is supplied to the communication unit 922. Thecommunication unit 922 performs a modulation process, a frequencyconversion process, and the like for the audio data, thereby generatinga transmission signal. In addition, the communication unit 922 suppliesa transmission signal to the antenna 921 so as to be transmitted to abase station not illustrated in the figure. Furthermore, thecommunication unit 922 performs an amplification process, a frequencyconversion process, a demodulation process, and the like for a receptionsignal received by the antenna 921 and supplies acquired audio data tothe audio codec 923. The audio codec 923 performs data decompression ofthe audio data and converts the audio data into an analog audio signaland outputs a resultant signal to the speaker 924.

In addition, in the data communication mode, in a case where a mail istransmitted, the control unit 931 receives character data input by anoperation for the operation unit 932 and displays the input characterson the display unit 930. Furthermore, the control unit 931 generatesmail data based on a user's instruction from the operation unit 932 andsupplies the generated mail data to the communication unit 922. Thecommunication unit 922 performs a modulation process, a frequencyconversion process, and the like for the mail data and transmits anacquired transmission signal from the antenna 921. In addition, thecommunication unit 922 performs an amplification process, a frequencyconversion process, a demodulation process, and the like for thereception signal received by the antenna 921, thereby restoring the maildata. This mail data is supplied to the display unit 930, whereby thecontent of the mail is displayed.

In addition, the mobile phone 920 can store the received mail data in astorage medium using the recording/reproducing unit 929. The storagemedium may be an arbitrary rewritable storage medium. For example, thestorage medium is a semiconductor memory such as a RAM or a built-intype flash memory, a hard disk, a magnetic disk, a magneto-optical disk,an optical disc, or a removable medium such as a USB memory or a memorycard.

In the data communication mode, in a case where image data istransmitted, the image data generated by the camera unit 926 is suppliedto the image processing unit 927. The image processing unit 927 performsa coding process of the image data, thereby generating coded data.

The multiplexing/separating unit 928 multiplexes coded data generated bythe image processing unit 927 and audio data supplied from the audiocodec 923 in accordance with a predetermined system and suppliesmultiplexed data to the communication unit 922. The communication unit922 performs a modulation process, a frequency conversion process, andthe like of the multiplexed data and transmits an acquired transmissionsignal from the antenna 921. In addition, the communication unit 922performs an amplification process, a frequency conversion process, ademodulation process, and the like for the reception signal received bythe antenna 921, thereby restoring the multiplexed data. Thismultiplexed data is supplied to the multiplexing/separating unit 928.The multiplexing/separating unit 928 separates the multiplexed data andsupplies coded data to the image processing unit 927 and supplies audiodata to the audio codec 923. The image processing unit 927 performs adecoding process of the coded data, thereby generating image data. Thisimage data is supplied to the display unit 930, whereby the receivedimage is displayed. The audio codec 923 converts audio data into ananalog audio signal and supplies the converted analog audio signal tothe speaker 924, thereby outputting the received audio.

In the mobile phone device configured in this way, the functions of theencoding device and the decoding device (a coding method and a decodingmethod) according to the present application are implemented in theimage processing unit 927. Accordingly, a coded stream in which theamount of information relating to information that specifies a referenceimage is reduced can be decoded.

<Configuration Example of Recording and Reproducing Device>

FIG. 65 illustrates the schematic configuration of a recording andreproducing device to which the present technology is applied. Therecording and reproducing device 940, for example, records audio dataand video data of a received broadcast program on a recording medium andprovides the recorded data for a user at timing according to a user'sinstruction. In addition, the recording and reproducing device 940, forexample, may acquire audio data and video data from another device andrecord the audio data and the video data on a recording medium.Furthermore, the recoding and reproducing device 940 decodes and outputsthe audio data and the video data, which are recorded on the recordingmedium, whereby the display of an image or the output of an audio can beperformed in a monitor device or the like.

The recording and reproducing device 940 includes: a tuner 941; anexternal interface unit 942; an encoder 943; an HDD (Hard Disk Drive)unit 944; a disk driver 945; a selector 946; a decoder 947; an OSD(On-Screen Display) unit 948; a control unit 949; and a user interfaceunit 950.

The tuner 941 selects a desired channel from among broadcast signalsreceived by an antenna not illustrated in the figure. The tuner 941outputs a coded bitstream acquired by demodulating a reception signal ofthe desired channel to the selector 946.

The external interface unit 942 is configured by at least one of anIEEE1394 interface, a network interface unit, a USB interface, a flashmemory interface, and the like. The external interface unit 942 is aninterface for a connection to an external device, a network, a memorycard, or the like and performs data reception of video data, audio data,and the like to be recorded.

When the video data and the audio data supplied from the externalinterface unit 942 are not coded, the encoder 943 codes the video dataand the audio data in accordance with a predetermined system and outputsa coded bitstream to the selector 946.

The HDD unit 944 records content data such as videos and audios, variousprograms, other data, and the like on a built-in hard disk and reads therecorded data from the hard disk at the time of reproduction or thelike.

The disk driver 945 performs signal recording and signal reproducing fora loaded optical disc. The optical disc, for example, is a DVD disc (aDVD-Video, a DVD-RAM, a DVD-R, a DVD-RW, a DVD+R, a DVD+RW, or thelike), a Blu-ray (registered trademark) disc, or the like.

When a video or an audio is recorded, the selector 946 selects a codedbitstream supplied from the tuner 941 or the encoder 943 and suppliesthe selected code bitstream to one of the HDD unit 944 and the diskdriver 945. In addition, when a video or an audio is reproduced, theselector 946 supplies a coded bitstream output from the HDD unit 944 orthe disk driver 945 to the decoder 947.

The decoder 947 performs a decoding process of the coded bit stream. Thedecoder 947 supplies video data that is generated by performing thedecoding process to the OSD unit 948. In addition, the decoder 947outputs audio data that is generated by performing the decoding process.

The OSD unit 948 generates video data used for displaying a menu screensuch as an item selection menu or the like and outputs the generatedvideo data so as to overlap the video data output from the decoder 947.

The user interface unit 950 is connected to the control unit 949. Theuser interface unit 950 is configured by an operation switch, a remotecontrol signal reception unit, and the like and supplies an operationsignal according to a user operation to the control unit 949.

The control unit 949 is configured by using a CPU, a memory, and thelike. The memory stores programs that are executed by the CPU andvarious kinds of data that is necessary for the process performed by theCPU. A program stored in the memory is read and executed by the CPU atpredetermined timing such as the start-up of the recording andreproducing device 940. The CPU executes programs, thereby performingcontrol of each unit such that the recoding and reproducing device 940operates in accordance with a user operation.

In the recoding and reproducing device configured in this way, thefunction of the decoding device (decoding method) according to thepresent application is implemented in the decoder 947. Accordingly, acoded stream in which the amount of information relating to theinformation specifying a reference image is reduced can be decoded.

<Configuration Example of Imaging Device>

FIG. 66 is a diagram that illustrates an example of the schematicconfiguration of an imaging device to which the present technology isapplied. The imaging device 960 images a subject and displays the imageof the subject on a display unit or records the image of the subject ona recording medium as image data.

The imaging device 960 includes: an optical block 961; an imaging unit962; a camera signal processing unit 963; an image data processing unit964; a display unit 965; an external interface unit 966; a memory unit967; a media drive 968; an OSD unit 969; and a control unit 970. Inaddition, a user interface unit 971 is connected to the control unit970. Furthermore, the image data processing unit 964, the externalinterface unit 966, the memory unit 967, the media drive 968, the OSDunit 969, the control unit 970, and the like are interconnected througha bus 972.

The optical block 961 is configured by using a focusing lens, adiaphragm mechanism, and the like. The optical block 961 forms theoptical image of a subject on the imaging surface of the imaging unit962. The imaging unit 962 is configured by using a CCD or CMOS imagesensor and generates an electrical signal according to the optical imagethrough a photoelectric conversion and supplies the generated electricalsignal to the camera signal processing unit 963.

The camera signal processing unit 963 performs various kinds of camerasignal processing such as a knee correction, a gamma correction, and acolor correction for the electrical signal supplied from the imagingunit 962. The camera signal processing unit 963 supplies image dataafter the camera signal processing to the image data processing unit964.

The image data processing unit 964 performs a coding process of theimage data supplied from the camera signal processing unit 963. Theimage data processing unit 964 supplies coded data that is generated byperforming the coding process to the external interface unit 966 or themedia drive 968. In addition, the image data processing unit 964performs a decoding process of the coded data supplied from the externalinterface unit 966 or the media drive 968. The image data processingunit 964 supplies the image data generated by performing the decodingprocess to the display unit 965. In addition, the image data processingunit 964 performs the process of supplying the image data supplied fromthe camera signal processing unit 963 to the display unit 965 andsupplies display data acquired from the OSD unit 969 to the display unit965 with being overlapped with the image data.

The OSD unit 969 generates display data such as a menu screen or an iconthat is configured by symbols, characters, or graphics and outputs thegenerated display data to the image data processing unit 964.

The external interface unit 966, for example, is configured by a USBinput/output terminal and the like and is connected to the printer in acase where an image is printed. In addition, to the external interfaceunit 966, a drive is connected as is necessary, a removable medium suchas a magnetic disk or an optical disc is appropriately installed, and acomputer program read therefrom is installed as is necessary.Furthermore, the external interface unit 966 includes a networkinterface that is connected to a predetermined network such as a LAN orthe Internet. For example, in accordance with an instruction from theuser interface unit 971, the control unit 970 can read coded data fromthe media drive 968 and supply the read coded data from the externalinterface unit 966 to another device connected through a network. Inaddition, the control unit 970 can acquire coded data or image data,which is supplied from another device through a network, through theexternal interface unit 966 and supply the acquired data to the imagedata processing unit 964.

As the recording media driven by the media drive 968, for example, anarbitrary readable/writable removable medium such as a magnetic disk, amagneto-optical disk, an optical disc, or a semiconductor memory isused. In addition, the type of the recoding medium as a removable mediumis an arbitrary and thus, may be a tape device, a disk, or a memorycard. Furthermore, a non-contact IC (Integrated Circuit) card or thelike may be used as the recording medium.

In addition, by integrating the media drive 968 and the recording mediumtogether, for example, the recording medium may be configured by anon-portable recording medium such as a built-in type hard disk drive oran SSD (Solid State Drive).

The control unit 970 is configured by using a CPU. The memory unit 967stores programs that are executed by the control unit 970, various kindsof data that is necessary for the process performed by the control unit970, and the like. A program stored in the memory unit 967 is read andexecuted by the control unit 970 at predetermined timing such as thestart-up of the imaging device 960. The control unit 970 executesprograms, thereby performing control of each unit such that the imagingdevice 960 operates in accordance with a user operation.

In the imaging device configured in this way, the functions of theencoding device and the decoding device (a coding method and a decodingmethod) according to the present application is implemented in the imagedata processing unit 964. Accordingly, the amount of informationrelating to the information specifying a reference image can be reduced.In addition, a coded stream in which the amount of information relatingto the information specifying a reference image is reduced can bedecoded.

<Example of Application of Hierarchical Coding>

(First System)

Next, a specific example of the use of scalable coded data that ishierarchically coded (coded in a scalable manner) will be described. Thescalable coding, for example, as in an example illustrated in FIG. 67,is used for selecting data to be transmitted.

In a data transmission system 1000 illustrated in FIG. 67, a deliveryserver 1002 reads scalable coded data stored in a scalable coded datastorage unit 1001 and delivers the read scalable coded data to aterminal device such as a personal computer 1004, an AV device 1005, atablet device 1006, or a mobile phone 1007 through a network 1003.

At that time, the delivery server 1002 selects and transmits coded datahaving a suitable quality in accordance with the capability of theterminal device, communication environments, and the like. Even when thedelivery server 1002 transmits data having unnecessary high quality, ahigh quality image cannot be acquired in the terminal device, and thereis concern that it may cause the occurrence of a delay or an overflow.In addition, there is concern that a communication band is unnecessarilyoccupied, or the load of the terminal device unnecessarily increases. Incontrast, when the delivery server 1002 transmits data havingunnecessarily low quality, there is concern that an image havingsufficient image quality cannot be acquired in the terminal device.Accordingly, the delivery server 1002 appropriately reads and transmitsscalable coded data stored in the scalable coded data storage unit 1001as coded data having quality that is appropriate to the capability ofthe terminal device, the communication environments, and the like.

For example, the scalable coded data storage unit 1001 is assumed tostore scalable coded data (BL+EL) 1011 that is coded in a scalablemanner. This scalable coded data (BL+EL) 1011 is coded data includingboth a base layer and an enhancement layer and is data from which animage of the base layer and an image of the enhancement layer can beacquired by decoding the scalable coded data.

The delivery server 1002 selects an appropriate layer in accordance withthe capability of a terminal transmitting data, the communicationenvironments, and the like and reads data of the layer. For example, fora personal computer 1004 or a tablet device 1006 that has highprocessing capability, the delivery server 1002 reads the scalable codeddata (BL+EL) 1011 having high quality from the scalable coded datastorage unit 1001 and transmits the scalable coded data as it is. Incontrast, for example, for an AV device 1005 or a mobile phone 1007having a low processing capability, the delivery server 1002 extractsthe data of the base layer from the scalable coded data (BL+EL) 1011 andtransmits scalable coded data (BL) 1012 that has the same content as thescalable coded data (BL+EL) 1011 and has quality lower than the scalablecoded data (BL+EL) 1011.

As above, by using the scalable coded data, the amount of data can beeasily adjusted. Accordingly, the occurrence of a delay or an overflowcan be suppressed, and an unnecessary increase in the load of theterminal device or the communication medium can be suppressed. Inaddition, in the scalable coded data (BL+EL) 1011, since the redundancybetween layers is reduced, the amount of data can be reduced to be lessthan that of a case where the coded data of each layer is configured asindividual data. Accordingly, the storage area of the scalable codeddata storage unit 1001 can be used more efficiently.

In addition, like the personal computer 1004 and the mobile phone 1007,various devices can be applied as the terminal devices, and accordingly,the capabilities of the hardware of the terminal devices differdepending on the devices. Furthermore, since there are variousapplications that are executed by the terminal devices, there arevarious capabilities of the software. In addition, as the network 1003that serves as the communication medium, any of all the communicationnetworks including a wired network, a wireless network, or both thewired and wireless networks such as the Internet or the LAN (Local AreaNetwork) can be applied, and accordingly, the data transmissioncapability varies. Furthermore, there is concern that the datatransmission capability may change in accordance with the othercommunications or the like.

Thus, the delivery server 1002, before the start of data transmission,may communicate with a terminal device that is the transmissiondestination of the data so as to acquire information relating to thecapability of the terminal device such as the hardware capability of theterminal device and the capability of the application (software)executed by the terminal device, and information relating to thecommunication environments such as the usable bandwidth of the network1003 and the like. In addition, the delivery server 1002 may beconfigured to select an appropriate layer based on the informationacquired here.

In addition, the extraction of a layer may be performed by the terminaldevice. For example, the personal computer 1004 may decode thetransmitted scalable coded data (BL+EL) 1011 and display an image of thebase layer or an image of the enhancement layer. Furthermore, forexample, the personal computer 1004 may extract the scalable coded data(BL) 1012 of the base layer from the transmitted scalable coded data(BL+EL) 1011 and may store the extracted scalable coded data, transmitthe extracted scalable coded data to another device, or decode theextracted scalable coded data and display the image of the base layer.

Here, it is apparent that all the scalable coded data storage unit 1001,the delivery server 1002, the network 1003, and the number of theterminal devices are arbitrary. In the description presented above,while the example has been described in which the delivery server 1002transmits data to the terminal device, the example of the use is notlimited thereto. The data transmission system 1000 may be applied to anarbitrary system as long as the system selects an appropriate layer inaccordance with the capability of the terminal device, the communicationenvironments, and the like and transmits the selected layer when thecoded data coded in a scalable manner is transmitted to the terminaldevice.

(Second System)

In addition, the scalable coding, for example, as in an exampleillustrated in FIG. 68, is used for transmission through a plurality ofcommunication media.

In a data transmission system 1100 illustrated in FIG. 68, abroadcasting station 1101 transmits scalable coded data (BL) 1121 of thebase layer through terrestrial broadcasting 1111. In addition, thebroadcasting station 1101 transmits scalable coded data (EL) 1122 of theenhancement layer through an arbitrary network 1112 that is configuredby a wired communication network, a wireless communication network, orboth the wired and wireless communication networks (for example, thedata is packetized and transmitted).

A terminal device 1102 has a function for receiving the terrestrialbroadcasting 1111 that is broadcasted by the broadcasting station 1101and receives the scalable coded data (BL) 1121 of the base layer that istransmitted through the terrestrial broadcasting 1111. In addition, theterminal device 1102 further has a communication function for performingcommunication through a network 1112 and receives the scalable codeddata (EL) 1122 of the enhancement layer that is transmitted through thenetwork 1112.

The terminal device 1102, for example, in accordance with a user'sinstruction or the like, acquires an image of the base layer by decodingthe scalable coded data (BL) 1121 of the base layer that is acquiredthrough the terrestrial broadcasting 1111, stores the acquired scalablecoded data, or transmits the acquired scalable coded data to anotherdevice.

In addition, the terminal device 1102, for example, in accordance with auser's instruction, composes the scalable coded data (BL) 1121 of thebase layer that is acquired through the terrestrial broadcasting 1111and the scalable coded data (EL) 1122 of the enhancement layer that isacquired through the network 1112 so as to acquire the scalable codeddata (BL+EL), decodes the scalable coded data so as to acquire an imageof the enhancement layer, or transmits the scalable coded data toanother device.

As above, the scalable coded data, for example, can be transmittedthrough a communication medium that is different for each layer.Accordingly, the load can be distributed, and the occurrence of a delayor an overflow can be suppressed.

In addition, depending on the situation, the communication medium thatis used for the transmission may be configured to be selected for eachlayer. For example, it may be configured such that the scalable codeddata (BL) 1121 of the base layer of which the data amount is relativelylarge is transmitted through a communication medium having a widebandwidth, and the scalable coded data (EL) 1122 of the enhancementlayer of which the data amount is relatively small is transmittedthrough a communication medium having a narrow bandwidth. In addition,for example, the communication medium through which the scalable codeddata (EL) 1122 of the enhancement layer is transmitted may be configuredto be switched between the network 1112 and the terrestrial broadcasting1111 in accordance with the usable bandwidth of the network 1112. Thissimilarly applies to the data of an arbitrary layer.

By controlling as such, an increase in the load for the datatransmission can be further suppressed.

Here, the number of layers is arbitrary, and the number of communicationmedia used for the transmission is also arbitrary. In addition, thenumber of the terminal devices 1102 that are the delivery destination ofdata is arbitrary as well. Furthermore, in the description presentedabove, while the example has been described in which broadcasting isperformed from the broadcasting station 1101, the example of the use isnot limited thereto. The data transmission system 1100 may be applied toan arbitrary system as long as the system divides coded data, which iscoded in a scalable manner, into a plurality of parts in units of layersand transmits divided data through a plurality of lines.

(Third System)

In addition, the scalable coded data, for example, as in an exampleillustrated in FIG. 69, is used for storing coded data.

In an imaging system 1200 illustrated in FIG. 69, an imaging device 1201performs scalable coding of image data that is acquired by imaging asubject 1211 and supplies resultant image data to a scalable coded datastorage device 1202 as scalable coded data (BL+EL) 1221.

The scalable coded data storage device 1202 stores the scalable codeddata (BL+EL) 1221 supplied from the imaging device 1201 with qualityaccording to the situation. For example, in the case of a normal time,the scalable coded data storage device 1202 extracts data of the baselayer from the scalable coded data (BL+EL) 1221 and stores the extracteddata as the scalable coded data (BL) 1222 of the base layer that has lowquality and a small data amount. In contrast, for example, in the caseof an attention time, the scalable coded data storage device 1202 storesthe scalable coded data (BL+EL) 1221 that has high quality and a largeamount of data as it is.

In this way, the scalable coded data storage device 1202 can store animage with high image quality only in a necessary case. Accordingly,while a decrease in the value of the image due to deterioration of theimage quality is suppressed, an increase in the amount of data can besuppressed, whereby the use efficiency of the storage area can beimproved.

For example, it is assumed that the imaging device 1201 is a monitoringcamera. In a case where a monitoring target (for example, an intruder)is not shown up in a captured image (in the case of the normal time),the possibility that the content of the captured image is of noimportance is high, and a decrease in the amount of data has thepriority, and the image data (scalable coded data) is stored with lowquality. In contrast, in a case where a monitoring target is shown up ina captured image as a subject 1211 (in the case of the attention time),the possibility that the content of the captured image is of importanceis high, and the image quality has the priority, and the image data(scalable coded data) is stored with high quality.

Here, whether it is the normal time or the attention time, for example,may be determined by analyzing the image using the scalable coded datastorage device 1202. In addition, it may be configured such that thedetermination process is performed by the imaging device 1201, and aresult of the determination is transmitted to the scalable coded datastorage device 1202.

Here, the determination criterion for determining the normal time or theattention time is arbitrary, and the content of the image that is thedetermination criterion is arbitrary. In addition, a condition otherthan the content of the image may be set as the determination criterion.For example, the determination may be changed in accordance with thesize, the waveform, or the like of recorded speech, may be changed forevery predetermined time, or may be changed in accordance with aninstruction, which is supplied from the outside, such as a user'sinstruction.

In addition, in the description presented above, while the example hasbeen described in which switching between two states of the normal timeand the attention time is performed, the number of the states isarbitrary. Thus, for example, it may be configured such that switchingis performed among three or more states including a normal time, a weakattention time, an attention time, and a strong attention time. However,the upper limit of the number of states among which the switching isperformed depends on the number of layers of the scalable coded data.

Furthermore, the imaging device 1201 may be configured to determine thenumber of layers of the scalable coding in accordance with the states.For example, in the case of the normal time, the imaging device 1201 maybe configured to generate scalable coded data (BL) 1222 of the baselayer that has low quality and a small amount of data and supply thegenerated scalable coded data to the scalable coded data storage device1202. In addition, for example, in the case of the attention time, theimaging device 1201 may be configured to generate scalable coded data(BL+EL) 1221 of the base layer that has high quality and a large amountof data and supply the generated scalable coded data to the scalablecoded data storage device 1202.

In the description presented above, while the monitoring camera has beendescribed as an example, the use of this imaging system 1200 isarbitrary but is not limited to the monitoring camera.

Here, the LCU is a CU (Coding Unit) having a maximal size, and the CTU(Coding Tree Unit) is a unit that includes a CTB (Coding Tree Block) ofthe LCU and parameters at the time of performing the process at the LCUbase (level). In addition, the CU configuring the CTU is a unit thatincludes a CB (Coding Block) and parameters at the time of performingthe process at the CU base (level).

Other Examples

While the examples of the devices, the systems, and the like to whichthe present technology is applied have been described above, the presenttechnology is not limited thereto. Thus, the present technology may beapplied as all the configurations mounted to such a device or devicesconfiguring such a system, for example, a processor as a system LSI(Large Scale Integration) or the like, a module that uses a plurality ofprocessors or the like, a unit that uses a plurality of modules or thelike, or a set or the like (in other words, a part of the configurationof the device) acquired by adding other functions to the unit.

(Configuration Example of Video Set)

An example of a case where the present technology is applied as a setwill be described with reference to FIG. 70. FIG. 70 illustrates anexample of the schematic configuration of a video set to which thepresent technology is applied.

Recently, the implementation of multiple functions of an electronicdevice is in progress, and, in the development or the manufacturingthereof, in a case where a part of the configuration is provided forsale, provision, or the like, there are not only a case where theconfiguration having one function is applied but also a case where oneset having a plurality of functions, which is acquired by combining aplurality of configurations having relating function, is applied, whichis widely used.

The video set 1300 illustrated in FIG. 70 has such a multi-functionconfiguration and is acquired by combining a device having a functionrelating to image coding or image decoding (any one thereof or boththereof) with devices having other functions relating to the function.

As illustrated in FIG. 70, the video set 1300 includes a module groupthat includes a video module 1311, an external memory 1312, a powermanagement module 1313, a front end module 1314, and the like anddevices having related functions of a connectivity 1321, a camera 1322,a sensor 1323, and the like.

A module is formed as a component having a function having unity byarranging several component functions relating to each other together.While a specific physical configuration is arbitrary, for example, amodule acquired by arranging a plurality of processors each having afunction, an electronic circuit component such as a resistor or acapacitor, and other devices or the like on a wiring board or the likeso as to be integrated together may be considered. In addition, it maybe considered to form a new module by combining a module with othermodules, processors, and the like.

In the example illustrated in FIG. 70, the video module 1311 is acquiredby combining configurations having functions relating to imageprocessing and includes: an application processor; a video processor; abroadband modem 1333; and an RF module 1334.

The processor is acquired by integrating a configuration having apredetermined function on a semiconductor chip as SoC (System On a Chip)and, for example, there is also the processor that is called a systemLSI (Large Scale Integration) or the like. The configuration having thepredetermined function may be a logic circuit (hardware configuration),a configuration including a CPU, a ROM, a RAM, and the like and aprogram (software configuration) executed using them, or a configurationcombining both the configurations described above. For example, it maybe configured such that the processor includes logic circuits, a CPU, aROM, a RAM, and the like, some functions are realized by the logiccircuits (hardware configuration), and the other functions are realizedby a program (software configuration) executed by the CPU.

The application processor 1331 illustrated in FIG. 70 is a processorthat executes an application relating to image processing. In order torealize predetermined functions, the application executed by theapplication processor 1331 may not only perform a calculation processbut also control the configurations of the inside and the outside of thevideo module 1311 such as the video processor 1332 as is necessary.

The video processor 1332 is a processor that has a function relating toimage coding and image decoding (one thereof or both thereof).

The broadband modem 1333 is a processor (or a module) relating to wiredor wireless (or wired and wireless) broadband communication performedthrough a broadband line such as the Internet or a public telephonenetwork. For example, the broadband modem 1333 converts data (digitalsignal) to be transmitted into an analog signal through digitalmodulation or the like or demodulates a received analog signal so as tobe converted into data (digital signal). For example, the broadbandmodem 1333 can perform digital modulation/demodulation of arbitraryinformation such as image data processed by the video processor 1332, astream in which the image data is coded, an application program, andsetting data.

The RF module 1334 is a module that performs frequency conversion,modulation/demodulation, amplification, a filter process, and the likefor an RF (Radio Frequency) signal that is transmitted/received throughan antenna. For example, the RF module 1334 generates an RF signal byperforming frequency conversion and the like for a dedicated lineconnection system signal generated by the broadband modem 1333. Inaddition, for example, the RF module 1334 generates a dedicated lineconnection system signal by performing frequency conversion and the likefor an RF signal received through the front end module 1314.

In addition, as denoted by a dotted line 1341 in FIG. 70, theapplication processor 1331 and the video processor 1332 may beintegrated so as to be configured as one processor.

The external memory 1312 is a module that is disposed outside the videomodule 1311 and includes a storage device used by the video module 1311.The storage device of the external memory 1312 may be realized by acertain physical configuration. However, generally, since the storagedevice is frequently used for storing data having a large capacity suchas image data configured in units of frames, the storage device ispreferably realized by a semiconductor memory that has a large capacityat relatively low cost such as a DRAM (Dynamic Random Access Memory).

The power management module 1313 manages and controls the supply ofpower to the video module 1311 (each configuration within the videomodule 1311).

The front end module 1314 is a module that provides a front end function(a transmission/reception-end circuit on the antenna side) for the RFmodule 1334. As illustrated in FIG. 70, the front end module 1314, forexample, includes an antenna unit 1351, a filter 1352, and anamplification unit 1353.

The antenna unit 1351 includes an antenna that transmits/receives awireless signal and a peripheral configuration thereof. The antenna unit1351 transmits a signal supplied from the amplification unit 1353 as awireless signal and supplies a received wireless signal to the filter1352 as an electric signal (RF signal). The filter 1352 performs afilter process and the like for the RF signal received through theantenna unit 1351 and supplies the RF signal after the process to the RFmodule 1334. The amplification unit 1353 amplifies the RF signalsupplied from the RF module 1334 and supplies the amplified RF signal tothe antenna unit 1351.

The connectivity 1321 is a module that has a function relating to aconnection to the outside. The physical configuration of theconnectivity 1321 is arbitrary. For example, the connectivity 1321includes a configuration having a communication function other than thecommunication specification to which the broadband modem 1333corresponds, external input/output terminals, and the like.

For example, the connectivity 1321 may be configured to include a modulehaving communication functions that are compliant with radiocommunication specifications such as Bluetooth (registered trademark),IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity; registeredtrademark)), NFC (Near Field Communication), and IrDA (InfraRed DataAssociation) and an antenna that transmits/receives signals that arecompliant with the specifications. In addition, for example, theconnectivity 1321 may be configured to include a module havingcommunication functions that are compliant with wired communicationspecifications such as USB (Universal Serial Bus) and HDMI (registeredtrademark) (High-Definition Multimedia Interface) and terminals that arecompliant with the specifications. Furthermore, for example, theconnectivity 1321 may be configured to have an additional data (signal)transmission function and the like of analog input/output terminals orthe like.

In addition, the connectivity 1321 may be configured to include a devicethat is the transmission destination of data (signal). For example, theconnectivity 1321 may be configured to include a drive (including notonly a drive of a removable medium but also a hard disk, an SSD (SolidState Drive), a NAS (Network Attached Storage), and the like) thatperforms data reading or data writing for a recoding medium such as amagnetic disk, an optical disc, a magneto-optical disk, or asemiconductor memory. Furthermore, the connectivity 1321 may beconfigured to include an output device (a monitor, a speaker, or thelike) of an image or an audio.

The camera 1322 is a module that has a function for acquiring image dataof a subject by imaging the subject. The image data acquired by animaging process performed by the camera 1322, for example, is suppliedto the video processor 1332 and is coded.

The sensor 1323 is a module that has the function of an arbitrary sensorsuch as an audio sensor, an ultrasonic sensor, an optical sensor, anilluminance sensor, an infrared sensor, an image sensor, a rotationsensor, an angle sensor, an angular velocity sensor, a speed sensor, anacceleration sensor, a tilt sensor, a magnetic identification sensor, animpact sensor, or a temperature sensor. Data that is detected by thesensor 1323, for example is supplied to the application processor 1331and is used by the application and the like.

In the description presented above, each configuration described as amodule may be realized by a processor, and each configuration describedas a processor may be realized by a module.

As will be described later, the present technology may be applied to thevideo processor 1332 of the video set 1300 having the configuration asdescribed above. Accordingly, the video set 1300 may be configured asthe set to which the present technology is applied.

(Configuration Example of Video Processor)

FIG. 71 illustrates an example of the schematic configuration of thevideo processor 1332 (FIG. 70) to which the present technology isapplied.

In the example illustrated in FIG. 71, the video processor 1332 has afunction for receiving an input of a video signal and an audio signaland coding the received signals in accordance with a predeterminedsystem and a function for decoding coded video data and coded audio dataand reproducing and outputting a video signal and an audio signal.

As illustrated in FIG. 71, the video processor 1332 includes: a videoinput processing unit 1401; a first image enlargement/reduction unit1402; a second image enlargement/reduction unit 1403; a video outputprocessing unit 1404; a frame memory 1405; and a memory control unit1406. In addition, the video processor 1332 includes: anencoding/decoding engine 1407; video ES (Elementary Stream) buffers1408A and 1408B, and audio ES buffers 1409A and 1409B. In addition, thevideo processor 1332 includes: an audio encoder 1410; an audio decoder1411; a multiplexer (MUX) 1412; a demultiplexer (DMUX) 1413; and astream buffer 1414.

The video input processing unit 1401, for example, acquires a videosignal input from the connectivity 1321 (FIG. 70) or the like andconverts the acquired video signal into digital image data. The firstimage enlargement/reduction unit 1402 performs format conversion and animage enlargement/reduction process for the image data. The second imageenlargement/reduction unit 1403, for the image data, performs an imageenlargement/reduction process in accordance with a format of the outputdestination through the video output processing unit 1404 or performsformat conversion and an image enlargement/reduction process, which aresimilar to those of the first image enlargement/reduction unit 1402, andthe like. The video output processing unit 1404 performs formatconversion, conversion into an analog signal, and the like for the imagedata and outputs a resultant signal, for example, to the connectivity1321 (FIG. 70) or the like as a reproduced video signal.

The frame memory 1405 is a memory for image data that is shared by thevideo input processing unit 1401, the first image enlargement/reductionunit 1402, the second image enlargement/reduction unit 1403, the videooutput processing unit 1404, and the encoding/decoding engine 1407. Theframe memory 1405 is realized as a semiconductor memory such as a DRAM.

The memory control unit 1406 receives a synchronization signal suppliedfrom the encoding/decoding engine 1407 and controls an access to theframe memory 1405 for writing/reading in accordance with an accessschedule for the frame memory 1405 that is written into an accessmanagement table 1406A. The access management table 1406A is updated bythe memory control unit 1406 in accordance with the process that isperformed by the encoding/decoding engine 1907, the first imageenlargement/reduction unit 1402, the second image enlargement/reductionunit 1403, and the like.

The encoding/decoding engine 1407 performs an encoding process of imagedata and performs a decoding process of a video stream that is acquiredby coding the image data. For example, the encoding/decoding engine 1407codes the image data read from the frame memory 1405 and sequentiallywrites the read image data into the video ES buffer 1408A as a videostream. In addition, for example, the encoding/decoding engine 1407sequentially reads the video stream from the video ES buffer 1408B,decodes the read video stream, and sequentially writes the decoded videostream into the frame memory 1405 as image data. The encoding/decodingengine 1407 uses the frame memory 1405 as a work area in such coding ordecoding processes. In addition, the encoding/decoding engine 1407, forexample, at the timing of starting the process of each macroblock,outputs a synchronization signal to the memory control unit 1406.

The video ES buffer 1408A buffers the video stream generated by theencoding/decoding engine 1407 and supplies the video stream to themultiplexer (MUX) 1412. The video ES buffer 1408B buffers the videostream supplied from the demultiplexer (DMUX) 1413 and supplies thevideo stream to the encoding/decoding engine 1407.

The audio ES buffer 1409A buffers the audio stream generated by theaudio encoder 1410 and supplies the audio stream to the multiplexer(MUX) 1412. The audio ES buffer 1409B buffers the audio stream suppliedfrom the demultiplexer (DMUX) 1413 and supplies the audio stream to theaudio decoder 1411.

The audio encoder 1410 converts an audio signal, for example, input fromthe connectivity 1321 (FIG. 70) or the like, for example, into a digitalsignal and codes the converted audio signal in accordance with apredetermined system such as an MPEG audio system or an AC3 (AudioCodenumber 3) system. The audio encoder 1410 sequentially writes audiostreams that are data acquired by coding the audio signals into theaudio ES buffer 1409A. The audio decoder 1411 decodes the audio streamsupplied from the audio ES buffer 1409B, performs conversion of thedecoded audio stream, for example, into an analog signal and the like,and supplies the converted signal, for example, to the connectivity 1321(FIG. 70) and the like as a reproduced audio signal.

The multiplexer (MUX) 1412 multiplexes the video stream and the audiostream. The multiplexing method (in other words, the format of abitstream generated by the multiplexing) is arbitrary. In addition, atthe time of multiplexing, the multiplexer (MUX) 1412 may addpredetermined header information or the like to the bit stream. In otherwords, the multiplexer (MUX) 1412 can convert the format of the streamthrough the multiplexing process. For example, by multiplexing the videostream and the audio stream, the multiplexer (MUX) 1412 converts thevideo stream and the audio stream into a transport stream that is abitstream having a format for transmission. In addition, for example, bymultiplexing the video stream and the audio stream, the multiplexer(MUX) 1412 converts the video stream and the audio stream into data(file data) having a format for recording.

The demultiplexer (DMUX) 1413 demultiplexes the bit stream in which thevideo stream and the audio stream are multiplexed using a methodcorresponding to the multiplexing process performed by the multiplexer(MUX) 1412. In other words, the demultiplexer (DMUX) 1413 extracts avideo stream and an audio stream from the bitstream read from the streambuffer 1414 (the video stream and the audio stream are separated). Inother words, the demultiplexer (DMUX) 1413 can convert (inverseconversion of the conversion performed by the multiplexer (MUX) 1412)the format of the stream through the demultiplexing process. Forexample, the demultiplexer (DMUX) 1413 acquires the transport stream,for example, supplied from the connectivity 1321 (FIG. 70), thebroadband modem 1333 (FIG. 70), or the like through the stream buffer1414 and demultiplexes the acquired transport stream, thereby convertingthe transport stream into a video stream and an audio stream. Inaddition, for example, the demultiplexer (DMUX) 1413 acquires file dataread from various recording media, for example, by the connectivity 1321(FIG. 70) through the stream buffer 1414 and demultiplexes the acquiredfile data, thereby converting the file data into a video stream and anaudio stream.

The stream buffer 1414 buffers the bitstream. For example, the streambuffer 1414 buffers the transport stream supplied from the multiplexer(MUX) 1412 and supplies the transport stream, for example, to theconnectivity 1321 (FIG. 70), the broadband modem 1333 (FIG. 70), and thelike at predetermined timing or based on a request transmitted from theoutside.

In addition, for example, the stream buffer 1414 buffers the file datasupplied from the multiplexer (MUX) 1412 and supplies the file data, forexample, to the connectivity 1321 (FIG. 70) and the like at apredetermined timing or based on a request transmitted from the outside.

Furthermore, the stream buffer 1414 buffers the transport streamacquired, for example, through the connectivity 1321 (FIG. 70), thebroadband modem 1333 (FIG. 70), or the like and supplies the transportstream to the demultiplexer (DMUX) 1413 at predetermined timing or basedon a request from the outside, and the like.

In addition, the stream buffer 1414 buffers the file data read fromvarious recording media, for example, by the connectivity 1321 (FIG. 70)or the like and supplies the file data to the demultiplexer (DMUX) 1413at predetermined timing or based on a request from the outside or thelike.

Next, an example of the operation of the video processor 1332 havingsuch a configuration will be described. For example, a video signalinput to the video processor 1332 from the connectivity 1321 (FIG. 70)or the like is converted into digital image data according to apredetermined system such as the 4:2:2 Y/Cb/Cr system by the video inputprocessing unit 1401 and is sequentially written into the frame memory1405. This digital image data is read by the first imageenlargement/reduction unit 1402 or the second imageenlargement/reduction unit 1403, and a format conversion into apredetermined system such as the 4:2:0 Y/Cb/Cr system or the like andthe enlargement/reduction process is performed for the digital imagedata, and the processed digital image data is written again into theframe memory 1405. This image data is coded by the encoding/decodingengine 1407 and is written into the video ES buffer 1408A as a videostream.

In addition, the audio signal input from the connectivity 1321 (FIG. 70)or the like to the video processor 1332 is coded by the audio encoder1410 and is written into the audio ES buffer 1409A as an audio stream.

The video stream stored in the video ES buffer 1408A and the audiostream stored in the audio ES buffer 1409A are read by the multiplexer(MUX) 1412, are multiplexed, and are converted into a transport stream,file data, or the like. The transport stream generated by themultiplexer (MUX) 1412 is buffered into the stream buffer 1414 and thenis output to the external network, for example, through the connectivity1321 (FIG. 70), the broadband modem 1333 (FIG. 70), or the like. Inaddition, the file data generated by the multiplexer (MUX) 1412 isbuffered into the stream buffer 1414, then is output, for example, tothe connectivity 1321 (FIG. 70) or the like, and is recorded in any oneof various recording media.

In addition, the transport stream that is input from the externalnetwork to the video processor 1332, for example, through theconnectivity 1321 (FIG. 70), the broadband modem 1333 (FIG. 70), or thelike is buffered into the stream buffer 1414 and then is demultiplexedby the demultiplexer (DMUX) 1413. In addition, the file data that isread from any one of the various recording media, for example, by theconnectivity 1321 (FIG. 70) or the like and is input to the videoprocessor 1332 is buffered into the stream buffer 1414 and then isdemultiplexed by the demultiplexer (DMUX) 1413. In other words, thetransport stream or the file data input to the video processor 1332 isseparated into a video stream and an audio stream by the demultiplexer(DMUX) 1413.

The audio stream is supplied to the audio decoder 1411 through the audioES buffer 1409B and is decoded, and the audio signal is reproduced. Inaddition, the video stream is written into the video ES buffer 1408B,then is sequentially read by the encoding/decoding engine 1407, isdecoded, and is written into the frame memory 1405. The decoded imagedata is enlarged or reduced by the second image enlargement/reductionunit 1403 and is written into the frame memory 1405. Then, the decodedimage data is read by the video output processing unit 1404, has theformat converted into a predetermined system such as the 4:2:2 Y/Cb/Crsystem, and is further converted into an analog signal, and the videosignal is reproduced and output.

In a case where the present technology is applied to the video processor1332 configured as such, the present technology according to eachembodiment described above may be applied to the encoding/decodingengine 1407. In other words, the encoding/decoding engine 1407 may beconfigured to have the function of the encoding device 10 or thedecoding device 110. In addition, for example, the encoding/decodingengine 1407 may be configured to have the functions of the encodingdevice 150 and the decoding device 170, the encoding device 190 and thedecoding device 210, or the encoding device 230 and the decoding device270. Furthermore, for example, the encoding/decoding engine 1407 may beconfigured to have the functions of the multiple viewpoint imageencoding device 600 and the multiple viewpoint image decoding device610. By configuring as such, the video processor 1332 can acquire thesame advantages as the advantages described above with reference toFIGS. 1 to 61.

In addition, in the encoding/decoding engine 1407, the presenttechnology (in other words, the functions of the image encoding deviceand the image decoding device according to each embodiment describedabove) may be realized by hardware such as logic circuits, may berealized by software such as a built-in program, or may be realized byboth the hardware and the software.

(Another Configuration Example of Video Processor)

FIG. 72 is a diagram that illustrates another example of the schematicconfiguration of the video processor 1332 (FIG. 70) to which the presenttechnology is applied. In the case of the example illustrated in FIG.72, the video processor 1332 has a function for coding/decoding thevideo data in accordance with a predetermined system.

More specifically, as illustrated in FIG. 72, the video processor 1332includes: a control unit 1511; a display interface 1512; a displayengine 1513; an image processing engine 1514; and an internal memory1515. In addition, the video processor 1332 includes: a codec engine1516; a memory interface 1517; a multiplexer/demultiplexer (MUX DMUX)1518; a network interface 1519; and a video interface 1520.

The control unit 1511 controls the operations of processing unitsarranged within the video processor 1332 such as the display interface1512, the display engine 1513, the image processing engine 1514, and thecodec engine 1516.

As illustrated in FIG. 72, the control unit 1511, for example, includesa main CPU 1531, a sub CPU 1532, and a system controller 1533. The mainCPU 1531 executes a program that is used for controlling the operationof each processing unit disposed within the video processor 1332. Themain CPU 1531 generates a control signal in accordance with the programor the like and supplies the control signal to each processing unit (inother words, controls the operation of each processing unit). The subCPU 1532 achieves an auxiliary role for the main CPU 1531. For example,the sub CPU 1532 executes a child process, a sub routine, and the likeof the program executed by the main CPU 1531. The system controller 1533controls the operations of the main CPU 1531 and the sub CPU 1532 suchas designation of programs to be executed by the main CPU 1531 and thesub CPU 1532.

The display interface 1512 outputs the image data, for example, to theconnectivity 1321 (FIG. 70) or the like under the control of the controlunit 1511. For example, the display interface 1512 converts the imagedata that is digital data into an analog signal and outputs the imagedata to the monitoring device or the like of the connectivity 1321 (FIG.70) as a reproduced video signal or the image data that is the digitaldata.

The display engine 1513, under the control of the control unit 1511,performs various conversion processes such as a format conversion, asize conversion, and a color gamut conversion for the image data so asto be adjusted to the hardware specifications of the monitoring devicedisplaying the image or the like.

The image processing engine 1514, under the control of the control unit1511, performs predetermined image processing such as a filter processfor improving the image quality or the like for the image data.

The internal memory 1515 is a memory disposed inside the video processor1332 that is shared by the display engine 1513, the image processingengine 1514, and the codec engine 1516. The internal memory 1515, forexample, is used for data interchange performed among the display engine1513, the image processing engine 1514, and the codec engine 1516. Forexample, the internal memory 1515 stores data supplied from the displayengine 1513, the image processing engine 1514, or the codec engine 1516and supplies the data to the display engine 1513, the image processingengine 1514, or the codec engine 1516 as is necessary (for example, inaccordance with a request). While this internal memory 1515 may berealized by any storage device, generally, the internal memory 1515 isfrequently used for storing data having a small capacity such as imagedata configured in units of blocks or parameters, and accordingly, it ispreferably realized by a semiconductor memory having a relatively smallcapacity (for example, compared to the external memory 1312) and a highresponse speed such as a SRAM (Static Random Access Memory).

The codec engine 1516 performs the process relating to coding ordecoding image data. The coding/decoding system to which the codecengine 1516 corresponds is arbitrary, and the number thereof may be oneor two or more. For example, the codec engine 1516 may include a codecfunction of a plurality of coding/decoding systems and perform thecoding of image data or the decoding of coded image data by usingselected one of the plurality of coding/decoding systems.

In the example illustrated in FIG. 72, the codec engine 1516, forexample, includes MPEG-2 Video 1541, AVC/H.264 1542, HEVC/H.265 1543,HEVC/H.265 (Scalable) 1544, HEVC/H.265 (Multi-view) 1545, and MPEG-DASH1551 as functional blocks of the process relating to the codec.

The MPEG-2 Video 1541 is a functional block used for coding or decodingimage data in accordance with the MPEG-2 system. The AVC/H.264 1542 is afunctional block used for coding or decoding image data in accordancewith the AVC system. In addition, the HEVC/H.265 1543 is a functionalblock used for coding or decoding image data in accordance with the HEVCsystem. The HEVC/H.265 (Scalable) 1544 is a functional block used forscalable coding or scalable decoding image data in accordance with theHEVC system. The HEVC/H.265 (Multi-view) 1545 is a functional block usedfor multiple viewpoint coding or multiple viewpoint decoding image datain accordance with the HEVC system.

The MPEG-DASH 1551 is a functional block used for transmitting/receivingimage data in accordance with an MPEG-DASH (MPEG-Dynamic AdaptiveStreaming over HTTP) system. The MPEG-DASH is a technology for streaminga video by using an HTTP (HyperText Transfer Protocol) and has a featurethat one is selected from among a plurality of pieces of coded datahaving mutually-different resolutions and the like, which are preparedin advance, in units of segments and is transmitted. The MPEG-DASH 1551performs generation of a stream, transmission control of the stream, andthe like that are compliant with the specification, and, forcoding/decoding image data, uses MPEG-2 Video 1541 or HEVC/H.265(Multi-view) 1545 described above.

The memory interface 1517 is an interface used for the external memory1312. Data supplied from the image processing engine 1514 or the codecengine 1516 is supplied to the external memory 1312 through the memoryinterface 1517. In addition, the data read from the external memory 1312is supplied to the video processor 1332 (the image processing engine1514 or the codec engine 1516) through the memory interface 1517.

The multiplexer/demultiplexer (MUX DMUX) 1518 multiplexes ordemultiplexes various kinds of data relating to an image such as abitstream of coded data, image data, or a video signal. Themultiplexing/demultiplexing method is arbitrary. For example, at thetime of the multiplexing process, the multiplexer/demultiplexer (MUXDMUX) 1518 may not only arrange a plurality of pieces of data into onebut also add predetermined header information or the like to the data.In addition, at the time of the demultiplexing process, themultiplexer/demultiplexer (MUX DMUX) 1518 may not only divide one pieceof data into a plurality of parts but add predetermined headerinformation or the like to the divided data. In other words, themultiplexer/demultiplexer (MUX DMUX) 1518 can convert the format of datathrough a multiplexing/demultiplexing process. For example, themultiplexer/demultiplexer (MUX DMUX) 1518 can convert the bitstream intoa transport stream that is in the format for transmission or data (filedata) that is in the file format for recording by multiplexing thebitstream. It is apparent that the inverse conversion can be performedthrough a demultiplexing process.

The network interface 1519 is a dedicated interface such as thebroadband modem 1333 (FIG. 70) or the connectivity 1321 (FIG. 70). Thevideo interface 1520 is a dedicated interface such as the connectivity1321 (FIG. 70) or the camera 1322 (FIG. 70).

Next, an example of the operation of such a video processor 1332 will bedescribed. For example, when a transport stream is received from theexternal network, for example, through the connectivity 1321 (FIG. 70),the broadband modem 1333 (FIG. 70), or the like, the transport stream issupplied to the multiplexer/demultiplexer (MUX DMUX) 1518 through thenetwork interface 1519, is demultiplexed, and is decoded by the codecengine 1516. For the image data acquired by the decoding processperformed by the codec engine 1516, for example, predetermined imageprocessing is performed by the image processing engine 1514, andpredetermined conversion is performed by the display engine 1513, theresultant image data is supplied, for example, to the connectivity 1321(FIG. 70) or the like through the display interface 1512, and the imageis displayed on the monitor. In addition, for example, the image dataacquired by the decoding process performed by the codec engine 1516 isre-coded by the codec engine 1516, is multiplexed by themultiplexer/demultiplexer (MUX DMUX) 1518, is converted into file data,is output, for example, to the connectivity 1321 (FIG. 70) or the likethrough the video interface 1520, and is recorded on any one of thevarious recording media.

In addition, for example, coded data that is acquired by coding theimage data read from a recording medium not illustrated in the figure bythe connectivity 1321 (FIG. 70) or the like is supplied to themultiplexer/demultiplexer (MUX DMUX) 1518 through the video interface1520, is demultiplexed, and is decoded by the codec engine 1516. For theimage data acquired by the decoding process performed by the codecengine 1516, predetermined image processing is performed by the imageprocessing engine 1514, and a predetermined conversion is performed bythe display engine 1513, and the resultant image data is supplied, forexample, to the connectivity 1321 (FIG. 70) or the like through thedisplay interface 1512, and the image is displayed on the monitor.Furthermore, for example, the image data acquired by the decodingprocess performed by the codec engine 1516 is re-coded by the codecengine 1516, is multiplexed by the multiplexer/demultiplexer (MUX DMUX)1518, is converted into a transport stream, is supplied, for example, tothe connectivity 1321 (FIG. 70), the broadband modem 1333 (FIG. 70), orthe like through the network interface 1519, and is transmitted toanother device not illustrated in the figure.

In addition, the interchange of image data or other data betweenprocessing units disposed within the video processor 1332, for example,is performed using the internal memory 1515 or the external memory 1312.In addition, the power management module 1313, for example, controls thesupply of power to the control unit 1511.

In a case where the present technology is applied to the video processor1332 configured as such, the present technology according to eachembodiment described above may be applied to the codec engine 1516. Inother words, for example, the codec engine 1516 may include a functionalblock that realizes the encoding device 10 or the decoding device 110.In addition, for example, the codec engine 1516 may be configured toinclude functional blocks that realize the encoding device 150 and thedecoding device 170, the encoding device 190 and the decoding device210, or the encoding device 230 and the decoding device 270.Furthermore, for example, the codec engine 1516 may be configured toinclude the functions of the multiple viewpoint image encoding device600 and the multiple viewpoint image decoding device 610. By configuringas such, the video processor 1332 can acquire the same advantages as theadvantages described above with reference to FIGS. 1 to 61.

In addition, in the codec engine 1516, the present technology (in otherwords, the functions of the image encoding device and the image decodingdevice according to each embodiment described above) may be realized byhardware such as logic circuits, may be realized by software such as abuilt-in program, or may be realized by both the hardware and thesoftware.

As above, while two configurations of the video processor 1332 have beendescribed as examples, the configuration of the video processor 1332 isarbitrary and may be a configuration other than the two configurationsdescribed above. In addition, this video processor 1332 may beconfigured by either one semiconductor chip or a plurality ofsemiconductor chips. For example, the video processor 1332 may beconfigured by a three-dimensional laminated LSI in which a plurality ofsemiconductors are laminated. In addition, the video processor 1332 maybe realized by a plurality of LSI's.

(Example of Application to Device)

The video set 1300 may be built in various devices that process imagedata. For example, the video set 1300 may be built in the televisionapparatus 900 (FIG. 63), the mobile phone 920 (FIG. 64), the recordingand reproducing device 940 (FIG. 65), the imaging device 960 (FIG. 66),and the like. By building the video set 1300 therein, the devices canacquire advantages that are the same as the advantages described abovewith reference to FIGS. 1 to 61.

In addition, the video set 1300, for example, may be built in theterminal devices of the data transmission system 1000 illustrated inFIG. 67 such as the personal computer 1004, the AV device 1005, thetablet device 1006, and the mobile phone 1007, the broadcasting station1101 and the terminal device 1102 of the data transmission system 1100illustrated in FIG. 68, and the imaging device 1201 and the scalablecoded data storage device 1202 of the imaging system 1200 illustrated inFIG. 69, and the like. By building the video set 1300 therein, thedevices can acquire advantages that are the same as the advantagesdescribed above with reference to FIGS. 1 to 61.

Furthermore, some of the configurations of the video set 1300 describedabove may be configurations to which the present technology is appliedin a case where the video processor 1332 is included therein. Forexample, only the video processor 1332 may be configured as a videoprocessor to which the present technology is applied. In addition, asdescribed above, the processor, the video module 1311, and the likedenoted by the dotted line 1341 may be configured as a processor, amodule, and the like to which the present technology is applied.Furthermore, for example, the video module 1311, the external memory1312, the power management module 1313, and the front end module 1314may be combined so as to be configured as a video unit 1361 to which thepresent technology is applied. In any of the configurations, the sameadvantages as those described above with reference to FIGS. 1 to 61 canbe acquired.

In other words, any configuration that includes the video processor1332, similar to the case of the video set 1300, may be built in variousdevices that process image data. For example, the video processor 1332,the processor and the video module 1311 denoted by the dotted line 1341,or the video unit 1361 may be built in the television apparatus 900(FIG. 63), the mobile phone 920 (FIG. 64), the recording and reproducingdevice 940 (FIG. 65), the imaging device 960 (FIG. 66), the terminaldevices of the data transmission system 1000 illustrated in FIG. 67 suchas the personal computer 1004, the AV device 1005, the tablet device1006 and the mobile phone 1007, the broadcasting station 1101 and theterminal device 1102 of the data transmission system 1100 illustrated inFIG. 68, and the imaging device 1201 and the scalable coded data storagedevice 1202 of the imaging system 1200 illustrated in FIG. 69, and thelike. By building any configuration to which the present technology isapplied therein, similar to the case of the video set 1300, the devicescan acquire the same advantages as those described above with referenceto FIGS. 1 to 61.

In the present specification, the examples have been described in whichvarious kinds of information are multiplexed into a coded stream, andthe coded stream is transmitted from the coding side to the decodingside. However, the technique for transmitting the information is notlimited thereto. For example, the information may be transmitted orrecorded as separate data associated with a coded bitstream withoutbeing multiplexed into the coded bit stream. Here, the term “beingassociated” represents that an image (a slice, a block, or the like; itmay be a part of the image) included in a bitstream and informationcorresponding to the image are linked to each other at the time of thedecoding process. In other words, the information may be transmitted ona transmission line that is different from that of the image (or thebitstream). Furthermore, the information may be recorded on a recordingmedium (or a different storage area of the same recoding medium)different from the recoding medium of the image (or the bitstream). Inaddition, the information and the image (or the bitstream) may beassociated with each other in an arbitrary unit such as a plurality offrames, one frame, or a part of the frame.

The present technology may be applied to devices used when imageinformation (bitstream) compressed through an orthogonal transform suchas a discrete cosine transform and motion compensation is transmittedand received through a network medium such as satellite broadcasting, acable TV, the internet, or the mobile phone or when the compressed imageinformation is processed on a storage medium such as an optical disc, amagnetic disk, or a flash memory as in MPEG, H.26x, or the like.

In addition, the present technology, for example, may be applied to HTTPstreaming such as MPEG DASH in which, from among a plurality of piecesof coded data having mutually-different resolutions or the like,appropriate coded data is selected and used in units of segments.

Furthermore, the coding system according to the present technology maybe a coding system other than the HEVC system.

Embodiments of the present technology are not limited to the embodimentsdescribed above, and various changes can be made in the range notdeparting from the concept of the present technology therein.

In addition, the present technology may have the followingconfigurations.

(1)

An encoding device including:

a predicted image generation unit configured to generate a predictedimage using a reference image; and

a transmission unit configured to transmit reference informationrepresenting whether reference image specifying information specifyingthe reference image of a prior image that is an image prior to a currentcoding image in coding order is used as the reference image specifyinginformation of the current coding image in a case where the currentcoding image is an image other than a first image of a GOP (Group ofPicture).

(2)

The encoding device according to (1), wherein the transmission unit, ina case where the reference information represents that the referenceimage specifying information of the prior image is used as the referenceimage specifying information of the current coding image, transmitsprior image specifying information that specifies the prior image.

(3)

The encoding device according to (2), wherein the transmission unit, ina case where the reference information represents that the referenceimage specifying information of the prior image is not used as thereference image specifying information of the current coding image,transmits the reference image specifying information of the currentcoding image.

(4)

The encoding device according to (3), further including a referenceimage information setting unit configured to set a plurality of piecesof reference image information that includes the reference informationand the prior image specifying information or the reference imagespecifying information,

wherein the transmission unit transmits the plurality of pieces ofreference image information set by the reference image informationsetting unit and, in a case where the current coding image is an imageother than the first image of the GOP (Group of Picture), transmitsreference image information specifying information that specifies thereference image information of the current coding image among theplurality of pieces of reference image information.

(5)

The encoding device according to (4),

wherein the reference image information setting unit sets firstreference image information including the reference image specifyinginformation as the reference image information, and

the transmission unit, in a case where the current coding image is thefirst image of the GOP (Group of Picture), transmits the reference imageinformation specifying information that specifies the first referenceimage information.

(6)

An encoding method, the encoding method including, by an encodingdevice:

a predicted image generating step of generating a predicted image usinga reference image; and

a transmitting step of transmitting reference information representingwhether reference image specifying information specifying the referenceimage of a prior image that is an image prior to a current coding imagein coding order is used as the reference image specifying information ofthe current coding image in a case where the current coding image is animage other than a first image of a GOP (Group of Picture).

REFERENCE SIGNS LIST

-   10 Encoding device-   12 Setting unit-   13 Transmission unit-   33 Calculation unit-   47 Motion prediction/compensation unit-   110 Decoding device-   111 Reception unit-   135 Addition unit-   144 Reference image setting unit-   145 Motion compensation unit-   150 Encoding device-   170 Decoding device-   190 Encoding device-   210 Decoding device-   230 Encoding device-   232 Setting unit-   251 Motion prediction/compensation unit-   270 Decoding device-   292 Motion compensation unit

1. A decoding device comprising: circuitry configured to: decode asyntax element from a sequence parameter set (SPS) for a plurality ofpictures to be decoded, the syntax element indicating a number ofshort-term reference picture sets (short-term RPS) included in the SPS;determine a value for an index of a short-term RPS of the currentpicture based on the number of short-term RPS indicated by the syntaxelement from the SPS, the current picture being a picture from theplurality of pictures; in a case where the value of the index of theshort-term RPS for the current picture is not equal to zero: decode areference picture set prediction flag (RPS prediction flag), wherein thevalue of the RPS prediction flag is decoded to be either: a first valueindicating that one of the short-term RPS included in the SPS, where theSPS precedes the current picture, is used to predict a short-term RPSfor the current picture, or a second value indicating that none of theshort-term RPS included in the SPS are used to predict the short-termRPS for the current picture, and, that the short-term RPS for thecurrent picture is in a slice header of the current picture; and in acase where the value of the index of the short-term RPS for the currentpicture is equal to zero: decode, from the slice header of the currentpicture, the short-term RPS for the current picture; wherein theshort-term RPS for the current picture comprises information specifyinga reference picture set used to generate a prediction picture for thecurrent picture.
 2. The decoding device according to claim 1, whereinthe circuitry is further configured to, in the case where the value ofthe index of the short-term RPS for the current picture is not equal tozero, based on the value of the RPS prediction flag being set to thefirst value indicating that one of the short-term RPS included in theSPS is used to predict the short-term RPS of the current picture: decodea delta index value identifying the one short-term RPS included in theSPS used to predict the short-term RPS of the current picture.
 3. Adecoding method comprising: decoding a syntax element from a sequenceparameter set (SPS) for a plurality of pictures to be decoded, thesyntax element indicating a number of short-term reference picture sets(short-term RPS) included in the SPS; determining a value for an indexof a short-term RPS of the current picture based on the number ofshort-term RPS indicated by the syntax element from the SPS, the currentpicture being a picture from the plurality of pictures; in a case wherethe value of the index of the short-term RPS for the current picture isnot equal to zero: decoding a reference picture set prediction flag (RPSprediction flag), wherein the value of the RPS prediction flag isdecoded to be either: a first value indicating that one of theshort-term RPS included in the SPS, where the SPS precedes the currentpicture, is used to predict a short-term RPS for the current picture, ora second value indicating that none of the short-term RPS included inthe SPS are used to predict the short-term RPS for the current picture,and, that the short-term RPS for the current picture is in a sliceheader of the current picture; and in a case where the value of theindex of the short-term RPS for the current picture is equal to zero:decoding, from the slice header of the current picture, the short-termRPS for the current picture; wherein the short-term RPS for the currentpicture comprises information specifying a reference picture set used togenerate a prediction picture for the current picture.
 4. The decodingmethod according to claim 3, further comprising, in the case when theindex of the short-term RPS of the current picture is not equal to zero,based on the value of the RPS prediction flag being set to the firstvalue indicating that one of the short-term RPS included in the SPS isused to predict the short-term RPS of the current picture: decoding adelta index value identifying the short-term RPS included in the SPSused to predict the short-term RPS of the current picture.